温馨提示×

CentOS Docker网络配置指南

小樊
130
2025-03-15 12:07:08
栏目: 智能运维

在CentOS系统中配置Docker网络是一个常见的需求,以下是详细的步骤和指南:

1. 查看默认网络配置

首先,可以使用以下命令查看Docker默认的网络配置:

docker network ls

这将列出所有可用的Docker网络及其详细信息。

2. 配置Docker网络模式

Docker提供了几种网络模式,包括:

  • bridge模式:这是Docker的默认模式。容器连接到一个名为docker0的虚拟网桥上,每个容器会被分配一个IP地址,并可以通过该IP地址在宿主机和其他容器之间通信。
  • host模式:容器与宿主机共享网络命名空间,容器直接使用宿主机的网络堆栈,适用于需要高性能网络的应用。
  • container模式:指定新创建的容器和已经存在的一个容器共享一个网络命名空间,实现容器间的网络隔离。
  • none模式:容器有独立的命名空间,但没有配置网络,通常用于需要完全隔离的网络场景。

3. 配置静态IP地址(可选)

如果需要配置静态IP地址,可以编辑网络接口配置文件。例如,编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件:

DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes

然后重启网络服务:

systemctl restart network

或者使用旧版命令:

service network restart

4. 配置网络代理(适用于需要代理的情况)

如果因为某些原因需要配置网络代理,可以通过以下方式进行:

  • Docker守护进程代理:编辑/etc/systemd/system/docker.service.d/proxy.conf文件,添加代理环境变量:

    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:8080/"
    Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
    Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
    

    然后重启Docker服务:

    systemctl daemon-reload
    systemctl restart docker
    
  • 容器代理:在~/.docker/config.json文件中配置代理:

    {
      "proxies": {
        "default": {
          "httpProxy": "http://proxy.example.com:8080",
          "httpsProxy": "http://proxy.example.com:8080",
          "noProxy": "localhost,127.0.0.1,.example.com"
        }
      }
    }
    

    这种配置适用于用户级的代理设置。

5. 验证网络配置

配置完成后,可以通过以下命令验证网络连接:

  • 使用ip addr show命令查看网络接口的IP地址。

  • 使用ping命令测试网络连通性,例如:

    ping www.baidu.com
    

通过以上步骤,您可以在CentOS系统中成功配置Docker网络,确保容器之间以及与宿主机的通信顺畅。根据实际需求选择合适的网络模式,并进行必要的静态IP配置和代理设置。

0