docker compose网络
原创大约 1 分钟
准备环境
version: "3.8"
services:
box1:
image: busybox
command: /bin/sh -c "while true; do sleep 3600; done"
box2:
image: busybox
command: /bin/sh -c "while true; do sleep 3600; done"
执行Docker Compose命令。
> docker-compose up -d
当未指定网络时,Docker Compose会默认创建一个以docker-compose.yml
所在文件夹名称为前缀的网路名:[文件夹名称]_default
,例如root_default
。
列出已创建的容器。
> docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
root-box1-1 busybox "/bin/sh -c 'while t…" box1 7 minutes ago Up 7 minutes
root-box2-1 busybox "/bin/sh -c 'while t…" box2 7 minutes ago Up 7 minutes
进入其中任何一个容器。
> docker exec -it root-box1-1 sh
下面的地址都是可以ping
通的。
/> ping root-box2-1
/> ping box1
/> ping box2
在以上任意运行的容器中执行下面的命令。
/> more /etc/resolv.conf
search localdomain
nameserver 127.0.0.11
options ndots:0
这就是Docker内置的DNS
服务器地址。
在容器中,以及退出容器后在宿主机上仍可ping
通它。
/> ping 127.0.0.11

可以在docker-compose.yml
中自定义网络,并指定容器使用哪一个网络。
version: "3.8"
services:
box1:
image: busybox
command: /bin/sh -c "while true; do sleep 3600; done"
networks:
- mynet1
box2:
image: busybox
command: /bin/sh -c "while true; do sleep 3600; done"
networks:
- mynet1
- mynet2
networks:
mynet1:
ipam:
driver: default
mynet2:
除了默认的default
和driver
属性,还有这些取值。
感谢支持
更多内容,请移步《超级个体》。