当遇到Docker网络冲突问题时,可以按照以下步骤进行排查和解决:
docker network ls
docker inspect <network_name_or_id>
# 创建自定义网络
docker network create --subnet=192.168.100.0/24 my_custom_network
# 运行容器时指定网络
docker run --network=my_custom_network your_image
# 修改Docker守护进程配置
# 编辑/etc/docker/daemon.json
{
"bip": "192.168.5.1/24",
"default-address-pools": [
{"base": "172.80.0.0/16", "size": 24},
{"base": "172.90.0.0/16", "size": 24}
]
}
# 重启Docker服务
sudo systemctl restart docker
# 停止所有容器
docker stop $(docker ps -aq)
# 删除所有网络(谨慎操作)
docker network prune
# 重启Docker服务
sudo systemctl restart docker
# 检查端口使用情况
netstat -tulnp | grep <port_number>
lsof -i :<port_number>
# 运行容器时指定不同端口
docker run -p 8080:80 your_image
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
my_macvlan_network
docker network create -d ipvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
my_ipvlan_network
# 清理未使用的网络
docker network prune
如果问题仍然存在,请提供更详细的错误信息或网络配置,我可以给出更有针对性的建议。