在 docker 中创建几个微服务,一个名 web1,另外 web1 还要引用 svr1、svr2,也就是需要创建三个镜像,运行三个容器。所以在启用的时候,需要同时运行三个容器,如果能将这三个应用组成一个局域网,web1 访问 svr1、svr2 的时候,只需要知道容器的名字就好。这样我就可以在 docker 中运行几组这样的应用,只有 web1 需要开放对外的端口。这个不知道如何在 docker 中设置,求教
1
shylockhg 2019 年 2 月 14 日
docker-compose
-p 做端口映射 |
2
daijinming OP @shylockhg 只有 web1 需要端口映射,这个到时没有问题。其他几个 svr1、svr2 只需要被 web1 调用就好,没有必要开放外网。其实我的思路就是在 docker 中创建一个局域网,只有 web1 需要被外部访问。
|
3
webfrogs 2019 年 2 月 14 日
docker network 了解一下
|
4
GuryYu 2019 年 2 月 14 日 使用 docker network 即可,
1. 创建 docker network: docker network create [网络名称] 如: docker network create net-xxx 2. 定义容器在 network 内的别名 docker network connect --alias [别名] [网络名] [容器名] 如: docker network connect --alias svr1 net-xxx svr1 docker network connect --alias svr2 net-xxx svr2 3. 在需要调用 svr1 或者 svr2 的端口时,直接使用别名即可 |
5
whatsmyip 2019 年 2 月 14 日
用 docker swarm 或者 k8s,可以满足
|
6
walkonthemarz 2019 年 2 月 14 日 via iPhone
docker-compose 就可以,建议看 docker-compose 的官方文档
|
7
cxbig 2019 年 2 月 14 日
1. 使用 docker-compose 可以緩解配置的複雜度,默認創建一個 network 供 container 之間通信,還能自定義各自的 hostname
2. 手動跑的話,讓這 3 個 container 加入同一個 network 也可以實現 |
9
midasplus 2019 年 2 月 14 日
可以用 docker-compose
|
11
kaneg 2019 年 2 月 14 日 via iPhone
docker-compose 就是为这样的需求量身定做的
|
12
wyntau 2019 年 2 月 14 日
docker-compose
|
13
yujincheng08 2019 年 2 月 14 日
docker-compose
|
14
anguiao 2019 年 2 月 14 日
用 network 是可以的,不过用 Docker Compose 更方便。同一组里面的几个容器,默认就是在一个 network 里的,没什么需求的话就用 Docker Compose 吧。
|
15
Trim21 2019 年 2 月 14 日 via Android
docker compose 可以选择不把某个端口暴露到宿主机
|
16
AlphaTr 2019 年 2 月 14 日
docker 可以创建自己的局域网
docker network create --subnet=172.20.0.0/16 arpa-net 然后指定容器的 IP 地址就行 docker run -d -p 80:80 -p 443:443 --network arpa-net --ip 172.20.20.22 nginx 不愿意暴露端口到宿主机,及不带前面 -p 参数就行 同一个网络下,端口默认都是开放的,所以容器之间可以直接用 172.20.20.22:80 这种 IP 端口的方式访问 |
17
yuikns 2019 年 2 月 15 日 via iPhone
当然是 docker-compose
自己写是展示自己高超的技巧么 |
18
KickAssTonight 2019 年 2 月 15 日
用 docker-compose:
> Expose ports without publishing them to the host machine - they ’ ll only be accessible to linked services. Only the internal port can be specified ```yml expose: - "3000" - "8000" ``` |
19
saberlove 2019 年 2 月 16 日
links
|