温馨提示×

Debian与Docker网络设置怎样操作

小樊
35
2025-11-09 08:50:03
栏目: 智能运维

Debian系统下Docker网络设置操作指南

1. 安装Docker

在Debian系统上配置Docker网络前,需先安装Docker。使用以下命令完成安装:

sudo apt update
sudo apt install docker.io

2. 启动并启用Docker服务

安装完成后,启动Docker服务并设置为开机自启,确保系统重启后Docker仍能正常运行:

sudo systemctl start docker
sudo systemctl enable docker

3. 查看现有Docker网络

Docker安装后会自动创建默认网络(如bridgehostnone)。通过以下命令查看所有网络:

docker network ls

4. 创建自定义网络

默认网络可能无法满足复杂场景需求,建议创建自定义网络(以桥接网络为例)。可通过--subnet(子网)、--gateway(网关)参数自定义网络配置:

# 基本创建命令
docker network create my_network

# 自定义子网和网关
docker network create --subnet=192.168.1.0/24 --gateway=192.168.1.1 my_custom_network

5. 运行容器并连接到自定义网络

创建容器时,通过--network参数将其连接到自定义网络。若需为容器指定静态IP,可添加--ip参数:

# 连接到自定义网络(动态IP)
docker run -d --name my_nginx --network my_network nginx

# 连接到自定义网络并指定静态IP
docker run -d --name my_nginx --network my_custom_network --ip 192.168.1.10 nginx

6. 配置网络模式

Docker支持多种网络模式,可根据需求选择:

  • Bridge模式(默认):容器通过虚拟网桥与主机通信,适合单主机环境。
    docker run -d --name my_nginx --network bridge nginx
    
  • Host模式:容器直接使用主机的网络栈,性能更高但隔离性弱(端口可能冲突)。
    docker run -d --name my_nginx --network host nginx
    
  • None模式:容器无网络接口,仅用于完全隔离的场景。
    docker run -d --name my_nginx --network none nginx
    

7. 配置静态IP

若需为容器分配固定IP,需在创建自定义网络时指定子网和网关,并在运行容器时通过--ip参数设置IP地址(参考步骤4、5)。

8. 查看容器网络配置

使用docker inspect命令查看容器的详细网络信息(如IP地址、网关、DNS等):

docker inspect my_nginx

9. 删除网络

若不再需要某个自定义网络,可使用以下命令删除(需确保网络中无容器运行):

docker network rm my_network

10. 配置Docker守护进程网络

若需修改Docker守护进程的网络配置(如DNS、监听端口),可编辑/etc/docker/daemon.json文件。例如,添加DNS服务器或开启TCP监听:

{
  "dns": ["8.8.8.8", "8.8.4.4"],
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

修改后重启Docker服务使配置生效:

sudo systemctl restart docker

11. 使用Docker Compose管理复杂网络

对于多容器应用,可使用Docker Compose简化网络配置。创建docker-compose.yml文件定义网络和容器:

version: '3'
services:
  web:
    image: nginx
    networks:
      - my_bridge_network
  db:
    image: mysql
    networks:
      - my_bridge_network

networks:
  my_bridge_network:
    driver: bridge
    subnet: 192.168.2.0/24
    gateway: 192.168.2.1

通过以下命令启动服务:

docker-compose up -d

以上步骤覆盖了Debian系统下Docker网络的基础配置需求,可根据实际场景选择合适的方式(如自定义网络、静态IP、Docker Compose等)实现容器间的通信与管理。

0