在 CentOS 上使用 Docker 联网,一般分几种常见场景,下面按“最常见 → 进阶”给你说明。
只要:
Docker 容器默认就能访问外网(通过 NAT)。
测试:
docker run --rm centos ping -c 3 www.baidu.com
如果能 ping 通,说明已经联网 ✅
在 CentOS 上执行:
ping -c 3 www.baidu.com
如果宿主机都不通:
ip addr
cat /etc/resolv.conf
systemctl restart network
CentOS 默认启用 firewalld,可能拦截 Docker NAT
解决:
systemctl stop firewalld
systemctl disable firewalld
或允许 Docker:
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload
getenforce
如果是 Enforcing,可临时关闭测试:
setenforce 0
systemctl status docker
重启:
systemctl restart docker
docker run --rm --network host centos ping www.baidu.com
docker network create mynet
docker run -it --network mynet centos bash
如果有 HTTP 代理:
docker run -e HTTP_PROXY=http://proxy:8080 \
-e HTTPS_PROXY=http://proxy:8080 \
centos ping www.baidu.com
如果你能告诉我:
我可以给你更精确的命令。