1、容器间网络不通
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器网络配置 docker network inspect <网络名称> # 检查容器IP地址 docker inspect --format '{{.NetworkSettings.IPAddress}}' <容器ID> # 测试容器间连通性 docker exec <容器A> ping -c 3 <容器B的IP> docker exec <容器A> curl -I <容器B的IP:端口> # 检查网络驱动 docker network ls | grep <网络名称> # 重建网络 docker network rm <网络名称> docker network create --driver bridge <网络名称> # 重新连接容器 docker network connect <网络名称> <容器ID> |
2、端口映射失败
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 检查端口映射配置 docker port <容器ID> docker inspect --format '{{range p, conf := .NetworkSettings.Ports}} {{p}} -\> {{(index conf 0).HostPort}} {{end}}' <容器ID> # 检查端口是否被占用 netstat -tulpn | grep <宿主端口> lsof -i :<宿主端口> # 检查防火墙规则 iptables -L INPUT | grep <宿主端口> firewall-cmd --list-ports | grep <宿主端口> # 尝试更换宿主端口 docker run -p <新宿主端口>:<容器端口> --name <新容器名> <镜像名> |
3、 DNS 解析问题
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 检查容器内DNS配置 docker exec <容器ID> cat /etc/resolv.conf # 测试DNS解析 docker exec <容器ID> nslookup google.com docker exec <容器ID> ping -c 3 google.com # 配置自定义DNS docker run --dns 8.8.8.8 --dns 8.8.4.4 <镜像名> # 全局配置DNS cat > /etc/docker/daemon.json << 'EOF' { "dns": ["8.8.8.8", "8.8.4.4"] } EOF systemctl restart docker |