网站整合discuz,中国网站为什么要备案,潍坊百度网站优化,深圳专业网站建设价格Docker 容器技术的核心优势之一是其轻量级的虚拟化和隔离性#xff0c;而 Docker 网络则是实现容器间以及容器与外界通信的关键。以下是对 Docker 网络的关键知识点的总结。
一、 Docker 网络概述
Docker 网络允许容器进行相互通信以及与外部网络的连接。Docker 提供了多种网…Docker 容器技术的核心优势之一是其轻量级的虚拟化和隔离性而 Docker 网络则是实现容器间以及容器与外界通信的关键。以下是对 Docker 网络的关键知识点的总结。
一、 Docker 网络概述
Docker 网络允许容器进行相互通信以及与外部网络的连接。Docker 提供了多种网络类型和驱动程序来满足不同的网络需求
Bridge: 默认网络类型Docker 安装时创建的 docker0 网桥适用于单个宿主机上的容器互联。Host: 容器与宿主机共享网络栈适用于需要容器与宿主机共享网络资源的场景。Overlay: 跨多个 Docker 守护进程的分布式网络适用于容器跨宿主机通信。Macvlan: 为容器分配独立的 MAC 地址使其可以直接连接到物理网络。
二、 Docker 网络配置
Docker 网络配置包括创建网络、连接容器到网络、配置 IP 地址等
使用 docker network create 创建新网络。使用 docker network connect 将容器连接到现有网络。使用 docker network inspect 查看网络详细信息。配置容器 IP 地址可以是静态或动态分配。
1. 创建自定义网络
docker network create --driver bridge my-custom-network这条命令会创建一个名为 my-custom-network 的自定义 bridge 网络。你可以通过 --driver 选项指定网络类型例如 --driver overlay 来创建一个 overlay 网络。
2. 将容器连接到网络
docker run --networkmy-custom-network -d my-image或者如果你已经有一个正在运行的容器可以使用 docker network connect 命令将其连接到网络
docker network connect my-custom-network container_id_or_name3. 配置端口映射
如果你希望容器内的服务能够被宿主机或其他容器访问可以通过 -p 或 --publish 标志配置端口映射
docker run -p 8080:80 -d my-image这条命令会将容器内的 80 端口映射到宿主机的 8080 端口上。
三、 容器与外部网络的通信
1. 端口映射: 使用 -p 参数将容器端口映射到宿主机端口实现外部访问。
案例运行容器并将容器的 80 端口映射到宿主机的 8080 端口
docker run -d -p 8080:80 --name my-web-app-container my-web-app2. NAT 规则: Docker 使用 iptables 规则进行网络地址转换允许容器访问外部网络。
案例如果宿主机有防火墙需要添加规则以允许外部流量通过映射的端口
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT3.使用宿主机的网络
1. host 模式简介
在 host 网络模式下容器不会获得独立的网络命名空间而是直接使用宿主机的网络接口。这意味着容器内的进程可以直接看到宿主机的所有网络接口包括 IP 地址和端口。因此容器可以直接访问宿主机上的网络资源无需进行端口映射或额外的网络配置。
2. 配置 host 模式
要在 Docker 中配置 host 模式只需在运行容器时指定 --network“host” 选项即可。以下是具体的操作步骤
运行容器 使用 docker run 命令运行容器并通过 --networkhost 参数指定网络模式为 host。例如
docker run --networkhost -itd --name mycontainer myimage其中-itd 是组合参数表示以交互模式运行容器并分配一个伪终端同时在后台运行容器。–name 用于指定容器的名称myimage 是要运行的容器镜像名称。
3. 验证配置
容器运行后可以通过 docker exec 命令进入容器内部使用如 ip addr 或 ifconfig取决于容器内的系统等命令查看网络接口验证容器是否成功使用了宿主机的网络。
参考文献 https://blog.51cto.com/u_14129797/5201566