温馨提示×

CentOS Docker如何联网

小樊
38
2026-08-03 06:40:49
栏目: 智能运维

CentOS 上使用 Docker 联网,通常分为 Docker 容器本身如何联网宿主机(CentOS)网络是否正常 两部分。下面按常见场景系统说明。


一、Docker 默认网络(最常见)

Docker 安装后,默认就有几种网络模式:

docker network ls

常见网络:

  • bridge(默认)
  • host
  • none

1️⃣ bridge 模式(默认,推荐)

容器通过 NAT 上网,最常见。

docker run -it centos bash

在容器中测试:

ping -c 3 www.baidu.com

✅ 能 ping 通说明网络正常。


二、CentOS 宿主机的网络检查(非常重要)

1️⃣ 检查宿主机是否能上网

ping -c 3 www.baidu.com

如果宿主机都不通,容器一定不通。


2️⃣ 检查 Docker 服务状态

systemctl status docker

重启 Docker(改网络后建议执行):

systemctl restart docker

三、常见联网问题 & 解决方案

✅ 问题 1:容器无法上网(DNS 问题)

现象

  • ping IP
  • ping 域名 不通

解决:指定 DNS

docker run -it --dns=8.8.8.8 centos bash

或全局配置 Docker DNS:

vim /etc/docker/daemon.json
{
  "dns": ["8.8.8.8", "114.114.114.114"]
}

重启 Docker:

systemctl restart docker

✅ 问题 2:CentOS 防火墙导致容器无法联网

CentOS 7/8 默认使用 firewalld

systemctl status firewalld

✅ 临时关闭测试:

systemctl stop firewalld

✅ 或放行 Docker 网络:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --reload

✅ 问题 3:Docker 网桥未启动

检查 docker0:

ip addr show docker0

如果没有:

systemctl restart docker

四、使用 host 网络(容器共享宿主机网络)

docker run -it --network host centos bash

✅ 优点:网络性能最好
❌ 缺点:失去网络隔离


五、自定义桥接网络(推荐生产环境)

docker network create mynet
docker run -it --network mynet centos bash

容器之间可通过 容器名互通


六、CentOS + Docker 常见环境总结

场景 建议
普通上网 bridge(默认)
性能要求高 host
多容器通信 自定义 bridge
DNS 不通 配置 DNS
防火墙问题 firewalld 放行 docker0

七、快速排错命令清单

# 宿主网络
ping www.baidu.com

# Docker 状态
systemctl status docker

# 容器网络测试
docker run --rm alpine ping -c 3 www.baidu.com

# DNS 测试
cat /etc/resolv.conf

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Docker 版本
  • ✅ 报错信息或现象(ping 不通 / 域名不通 / 超时)

我可以 精准定位你当前的网络问题

0