docker network

Docker 网络(docker network)是 Docker 提供的一种功能,它允许您创建和管理容器网络。这些网络使得容器之间可以相互通信,以及与外部网络通信。Docker 网络可以是局部的(仅在单个宿主机上的容器之间通信),也可以是跨主机的(在多个宿主机上的容器之间通信)。

Docker 网络的类型:

桥接网络(Bridge):

默认的网络类型,创建的容器可以相互通信,但与外部网络隔离。

容器通过 NAT 访问外部网络。

宿主机网络(Host):

容器共享宿主机的网络命名空间。

容器不会获得自己的 IP 地址,而是使用宿主机的网络设置。

覆盖网络(Overlay):

用于多宿主机通信,允许不同宿主机上的容器相互通信。

通常用于 Docker Swarm 或 Kubernetes 等容器编排工具。

麦克斯特网络(Macvlan):

使容器看起来像是直接连接到物理网络的设备。

容器获得独立的 IP 地址,并且可以直接与外部网络通信。

如何使用 Docker 网络:

创建网络

创建一个名为 my-network 的桥接网络:

bash 复制代码
bash
docker network create --driver bridge my-network

连接容器到网络

运行一个新容器并连接到 my-network:

bash 复制代码
bash
docker run -it --name my-container --network my-network nginx

将现有容器连接到网络

将一个已经运行的容器连接到 my-network:

bash 复制代码
bash
docker network connect my-network my-existing-container

断开容器与网络的连接

将容器从网络中断开:

bash 复制代码
bash
docker network disconnect my-network my-container

删除网络

删除不再需要的网络:

bash 复制代码
bash
docker network rm my-network

查看网络列表

查看所有网络:

bash 复制代码
bash
docker network ls

查看网络详情

查看特定网络的详细信息:

bash 复制代码
bash
docker network inspect my-network

注意事项:

当您创建容器时,如果不指定网络,Docker 将默认使用 bridge 网络。

容器可以连接到多个网络。

覆盖网络需要 Docker Swarm 模式或第三方工具(如 Weave, Calico 等)来设置。

通过使用 Docker 网络,您可以灵活地控制容器的网络通信,这对于容器化应用程序的开发、部署和管理至关重要。

相关推荐
齐潇宇17 小时前
Jenkins 自动化部署 Tomcat + PHP
linux·运维·容器·tomcat·jenkins
ruanyongjing17 小时前
元数据驱动开发 - 面向对象编程思想的补充 (十二)
nginx·macos·docker
小辰记事本17 小时前
从零读懂RDMA硬件排障:读数、看码、查计数器
运维·网络·数据库
AI服务老曹17 小时前
解耦安全中台:基于 Docker 部署与 GB28181/RTSP 统一接入的边缘计算 AI 视频管理平台(附源码交付与 API 架构解析)
人工智能·安全·docker
hj28625117 小时前
Linux 进程、作业控制、定时任务 完整版整理笔记
linux·运维·笔记
深圳恒讯18 小时前
马来西亚服务器延迟怎么样?多少才算正常
运维·服务器
黄筱筱筱筱筱筱筱18 小时前
基于AI 文本生成的自动化Linux 运维文档系统
运维·自动化
2601_9488106018 小时前
Jenkins
运维·jenkins
剑神一笑18 小时前
Linux wget 命令详解:从基础到高级下载技巧
linux·运维·服务器
AOwhisky18 小时前
Ceph系列第二期:Ceph集群部署实战(cephadm)
linux·运维·笔记·分布式·ceph·云计算·存储