报错1:
ERROR: for xxx user specified IP address is supported only when connecting to networks with user configured subnets
报错2:
ERROR: Pool overlaps with other one on this address space
都是因为docker容器网段冲突
重新创建docker网络
- 本机中docker 所有网段使用列表
$ ifconfig |grep 172
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
inet 172.31.0.1 netmask 255.255.0.0 broadcast 172.31.255.255
inet 172.23.0.1 netmask 255.255.0.0 broadcast 172.23.255.255
inet 172.19.0.1 netmask 255.255.0.0 broadcast 172.19.255.255
inet 172.29.0.1 netmask 255.255.0.0 broadcast 172.29.255.255
inet 172.22.0.1 netmask 255.255.0.0 broadcast 172.22.255.255
inet 172.25.0.1 netmask 255.255.0.0 broadcast 172.25.255.255
inet 172.21.0.1 netmask 255.255.0.0 broadcast 172.21.255.255
inet 172.26.0.1 netmask 255.255.0.0 broadcast 172.26.255.255
inet 172.30.0.1 netmask 255.255.0.0 broadcast 172.30.255.255
inet 172.28.0.1 netmask 255.255.0.0 broadcast 172.28.255.255
inet 172.20.0.1 netmask 255.255.0.0 broadcast 172.20.255.255
inet 172.24.0.1 netmask 255.255.0.0 broadcast 172.24.255.255
inet 172.27.0.1 netmask 255.255.0.0 broadcast 172.27.255.255
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
正在使用中的网段,
- 先删除需要删的网段
$ docker network rm my_default
Error response from daemon: error while removing network: network mycat_default id f60db8057707f9d57dc26413ebfe2e7ff8a152d3c419f40a31c4de47ada9f899 has active endpoints
正在使用中.先停止容器,再执行 docker network rm my_default
- docker-compose配置自动创建
networks:
default: //网段名
ipam:
driver: default
config:
- subnet: 172.28.0.0/16
docker-compose 中使用网段
networks:
default: //网段名
ipv4_address: 172.28.1.1
- 手动docker command创建
$ docker network create --driver bridge --subnet 172.28.1.0/16 my_network
解释:
subnet 可以分配 172.28.1.2 到 172.28.255.255
my_network 网段名
- 通过docker-compose启动,不使用指定网段,在应用的配置文件中使用容器名+端口