docker compose使用默认bridge网络

如果不配置任何网络,docker默认会以docker-compose.yml所在文件夹名称_default为名自动创建一个网络,所以必须指定network_mode: bridge。

举例:

version: "3.2"
services:
  ABC:
    image: ABC/ABC:latest
    container_name: ABC
    ports:
      - "8088:80"
    restart: always
    network_mode: bridge

销毁并重建容器

docker compose down && docker compose up -d

重启docker

systemctl daemon-reload
systemctl restart docker

删除没用的网络,如果删不掉,说明对应的网络还在使用,排查容器

docker network ls
docker network rm NETWORKID/NAME

如果无法删除,排查使用了具体网络的容器有哪些

docker network inspect 网络名称 -f '{{range .Containers}}{{.Name}} {{end}}'

查看容器的ip地址是否已经和bridge网络一致

docker inspect 容器名 | grep IPAddress

查看主机除了物理网卡的地址路由,是不是只剩下bridge网段的路由

ip route show

如果已有网络、容器是无法修改ip的,只能删除重建,如果已经有容器,特别是用户创建的容器,需要谨慎。

修改bridge地址池常见的配置文件为vim /etc/docker/daemon.json

THE END
分享
二维码
打赏
海报
docker compose使用默认bridge网络
如果不配置任何网络,docker默认会以docker-compose.yml所在文件夹名称_default为名自动创建一个网络,所以必须指定network_mode: bridge。 举例: version: "……
<<上一篇
下一篇>>