温馨提示×

Debian与Docker的网络配置怎样实现

小樊
69
2025-08-14 03:05:45
栏目: 智能运维

在Debian上配置Docker网络可按以下步骤操作,涵盖网络模式选择、自定义网络创建及容器连接等核心场景:

一、基础网络配置

  1. 安装Docker

    sudo apt update && sudo apt install docker.io  
    sudo systemctl start docker && sudo systemctl enable docker  
    
  2. 查看默认网络

    docker network ls  
    

    (默认包含bridgehostnone网络)

二、配置网络模式

1. 桥接模式(默认)

  • 特点:容器通过虚拟网桥docker0通信,需端口映射(-p)访问外部。
  • 示例
    docker run -d --name nginx -p 8080:80 nginx  # 将容器80端口映射到宿主机8080  
    

2. 主机模式

  • 特点:容器直接使用宿主机网络,无隔离,性能最高。
  • 示例
    docker run -d --network host nginx  # 容器端口直接绑定宿主机端口  
    

3. 无网络模式

  • 特点:容器无网络接口,仅能访问本地回环。
  • 示例
    docker run -d --network none busybox  
    

4. 覆盖网络(跨主机通信)

  • 适用场景:Docker Swarm集群或多主机环境。
  • 示例
    docker network create --driver overlay --subnet 10.0.0.0/24 my_overlay  
    docker service create --network my_overlay --name web nginx  
    

三、自定义网络配置

  1. 创建自定义桥接网络

    docker network create --driver bridge \  
      --subnet 192.168.1.0/24 \  
      --gateway 192.168.1.1 \  
      my_custom_bridge  
    
  2. 连接容器到自定义网络

    docker run -d --network my_custom_bridge --name my_container nginx  
    
  3. 配置静态IP

    docker run -d --network my_custom_bridge --ip 192.168.1.10 nginx  
    

四、高级配置

  • 配置Docker守护进程网络:编辑/etc/docker/daemon.json,指定监听端口或默认网络。

    {  
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],  
      "bip": "192.168.1.1/24"  # 设置默认网桥IP  
    }  
    

    重启Docker生效:sudo systemctl restart docker

  • 使用Docker Compose:通过docker-compose.yml定义多容器网络。

    version: '3'  
    services:  
      web:  
        image: nginx  
        networks:  
          - my_bridge  
    networks:  
      my_bridge:  
        driver: bridge  
        subnet: 192.168.1.0/24  
    

    启动服务:docker-compose up -d

五、验证与调试

  • 查看容器网络详情
    docker inspect <容器名>  
    
  • 测试网络连通性
    docker exec -it <容器名> ping 192.168.1.1  # 测试网关连通性  
    

根据需求选择合适的网络模式,简单场景优先使用默认桥接或主机模式,复杂多主机环境需配置覆盖网络或自定义网络。

0