一、原因

docker-compose创建网卡secsys_network的网段为172.18.0.0/16,网关为172.18.0.1,而主机修改网卡的网关也是
172.18.0.1,导致web容器访问mysql容器失败

二、解决

方法一:【修改secsys_network的网络为别的网段即可,我这是改成了10.10.10.0/24网段】

docker-compose down
docker network create secsys_network --subnet=10.10.10.0/24 -o com.docker.network.bridge.name=secsys_network
cp docker-compose.yml docker-compose.yml.save
修改docker-compose.yml文件,网络服务改成如下
networks:
  secnet:
    external:
      name: secsys_network

在这里插入图片描述

docker-compose up -d
ifconfig

在这里插入图片描述

方法二:修改使用docker-compose启动的容器IP范围

vim /etc/docker/daemon.json

{
  "debug": true,
  "default-address-pools": [
    {
      "base": "172.31.0.0/16",
      "size": 24
    }
  ]
}

systemctl reload docker

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐