Docker 网络 + 命令

rest1024 2026-05-07 13:15:12

 

一、Docker 网络核心概念

1. 核心作用

Docker 网络用于:容器和容器互通、容器和宿主机互通、容器对外暴露端口上网。

2. Docker 四种默认网络模式

  1. bridge(默认网桥)

  • 安装 Docker 自动创建 docker0 网桥

  • 同一宿主机上所有容器默认连 bridge

  • 同网桥容器可互相通信,隔离外部

  2.host 模式

  • 容器直接共用宿主机网卡、IP、端口

  • 没有端口映射,容器占用宿主机端口

  • 性能最好,适合高性能服务

  3.none 模式

  • 禁用所有网络,容器无网卡、无IP

  • 完全隔离,只能本地内部程序运行

    4.overlay 模式

  • 跨多台宿主机容器互通(集群/ swarm 用)

  • 多服务器Docker容器互联专用

二、Docker 网络基础查看命令

# 查看所有Docker网络 docker network ls

# 查看网络详细信息(子网、网关、连接的容器) docker network inspect 网络名/网络ID

# 查看容器用的网络 docker inspect 容器ID | grep NetworkMode

三、自定义网桥网络(最常用)

1. 创建自定义网络

# 创建自定义bridge网络 docker network create 自定义网络名

# 指定子网、网关创建(常用) docker network create --subnet=172.20.0.0/16 --gateway=172.20.0.1 my-net

2. 运行容器并指定加入自定义网络

# 容器启动时加入指定网络 docker run -d --name nginx1 --network my-net nginx

# 指定容器固定IP docker run -d --name mysql8 --network my-net --ip 172.20.0.10 mysql:8.0

3. 将已存在容器加入某个网络

docker network connect 网络名 容器名/容器ID

4. 把容器从网络断开

docker network disconnect 网络名 容器名/容器ID

5. 删除自定义网络

# 删除单个网络 docker network rm 网络名

# 清理所有未使用的网络 docker network prune

四、四种网络模式启动容器示例

1. 默认 bridge 模式(不指定网络默认就是)

docker run -d --name test1 nginx

2. host 网络模式

docker run -d --name test2 --network host nginx

注意:host 模式不能用 -p 端口映射

3. none 无网络模式

docker run -d --name test3 --network none nginx

五、端口映射(容器对外访问核心)

格式

-p 宿主机端口:容器内部端口

# 基础端口映射 docker run -d -p 8080:80 nginx

# 绑定指定宿主机IP docker run -d -p 192.168.1.100:8080:80 nginx

# 随机分配宿主机端口 docker run -d -p 80 nginx

# 映射多个端口 docker run -d -p 8080:80 -p 3306:3306 nginx

查看容器端口映射

docker port 容器ID/容器名

 

六、容器互通原理

  1. 同一自定义网络:容器可直接用容器名互相访问,不用记IP

  2. 默认docker0网桥:只能IP互通,不支持容器名解析

  3. 跨网络:默认隔离,必须手动端口映射或接入同一网络

 

七、常用 Docker 网络命令速查表

docker network ls # 列出所有网络

docker network create my-net # 创建自定义网络

docker network inspect my-net # 查看网络详情

docker network connect 网络 容器 # 容器加入网络

docker network disconnect 网络 容器 # 容器退出网络

docker network rm my-net # 删除网络

docker network prune # 清理闲置网络

docker port 容器ID # 查看端口映射

 

参考链接:https://github.com/0voice

...全文
93 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

562

社区成员

发帖
与我相关
我的任务
社区描述
零声学院,目前拥有上千名C/C++开发者,我们致力将我们的学员组织起来,打造一个开发者学习交流技术的社区圈子。
nginx中间件后端 企业社区
社区管理员
  • Linux技术狂
  • Yttsam
  • 零声教育-晚晚
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

请新加入的VIP学员,先将自己参加活动的【所有文章】,同步至社区:

【内容管理】-【同步至社区-【零声开发者社区】

试试用AI创作助手写篇文章吧