docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker network 自定义网络配置

docker network 自定义网络配置与管理指南详细过程

作者:摸鱼的后端

Docker网络是容器间通信和与外部世界交互的基础,通过自定义网络,可以实现容器间的隔离、静态 IP 分配和服务发现,这篇文章主要介绍了docker network 自定义网络配置与管理指南,需要的朋友可以参考下

Docker 自定义网络配置与管理指南

1. 网络基础概念

Docker 网络是容器间通信和与外部世界交互的基础。通过自定义网络,可以实现容器间的隔离、静态 IP 分配和服务发现。

关键术语:

2. 创建自定义网络

创建名为 net_base 的桥接网络,指定特定的子网和网关:

docker network create \
  --driver bridge \         # 使用桥接网络驱动(默认)
  --subnet 172.18.0.0/16 \  # 指定 IP 地址范围
  --gateway 172.18.0.254 \  # 手动指定网关 IP(子网内的最后一个可用 IP)
  net_base                  # 网络名称

参数说明

3. 启动容器并分配静态 IP

在自定义网络中启动容器并分配静态 IP:

docker run -d \
  --name mysql-8.0.39 \        # 容器名称
  --network net_base \         # 连接到自定义网络
  --ip 172.18.0.1 \           # 指定静态 IP 地址(网关为 0.254,因此 0.1 可用)
  -p 3306:3306 \              # 端口映射
  -e MYSQL_ROOT_PASSWORD=XXXXXX \  # 环境变量设置
  -v /etc/localtime:/etc/localtime:ro \  # 时区同步
  -v /volume/mysql_8.0.39/data:/var/lib/mysql \  # 数据持久化
  mysql:8.0.39                # 镜像名称

注意事项

4. 网络管理常用命令

查看网络列表

docker network ls

查看网络详细信息

docker network inspect net_base

连接现有容器到网络

docker network connect net_base <容器名或ID>

断开容器与网络的连接

docker network disconnect net_base <容器名或ID>

删除自定义网络(需先断开所有容器):

docker network rm net_base

5. 验证网络配置

检查容器 IP 地址

docker inspect -f '{{.NetworkSettings.Networks.net_base.IPAddress}}' mysql-8.0.39

从容器内部测试网络连通性

# 测试网关连通性
docker exec -it mysql-8.0.39 ping 172.18.0.254
# 测试其他容器连通性(如果有)
docker exec -it mysql-8.0.39 ping 172.18.0.3

查看容器网络配置

docker exec -it mysql-8.0.39 ip addr show eth0

6. 网络配置最佳实践

docker run -d --name web --network net_base --network-alias www nginx

其他容器可通过 www 域名访问该容器

使用 Docker Compose 管理复杂网络

version: '3'
networks:
  net_base:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
          gateway: 172.18.0.254
services:
  mysql:
    image: mysql:8.0.39
    networks:
      net_base:
        ipv4_address: 172.18.0.1

7. 故障排查

容器无法访问外网

容器间无法通信

静态 IP 分配失败

通过合理使用自定义网络和静态 IP 分配,可以构建出结构清晰、易于管理的容器网络环境。

到此这篇关于docker network 自定义网络配置与管理指南的文章就介绍到这了,更多相关docker network 自定义网络配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文