编辑
2023-05-16
Docker
00
请注意,本文编写于 902 天前,最后修改于 10 天前,其中某些信息可能已经过时。

目录

1.docker网桥类型
2.创建网桥
3.查看网桥
4.查看网络的细节
5.删除一个网桥
6.运行多个容器指定在网络中

1.docker网桥类型

Bridge模式

这是Docker的默认网络模式,通过虚拟网桥连接容器与主机。

该模式为每个容器分配独立的网络命名空间,支持端口映射实现容器与外部网络的通信。默认桥接网络不支持容器名称解析,需要自定义桥接网络才能实现该功能。

Host模式

容器与主机共享网络命名空间,直接使用主机的网络接口和IP地址。

这种模式网络性能接近原生,几乎没有额外开销,且无需端口映射即可直接暴露容器端口。但缺点是容器与主机网络完全共享,缺乏隔离性,存在端口冲突风险。

None模式

该模式下容器没有任何网络接口,处于完全的网络隔离状态

这提供了最高的网络隔离性和安全性,能有效防止外部访问,但代价是容器无法与其他容器或外部网络进行任何通信。

Container模式 新创建的容器与已存在的容器共享同一个network namespace,实现网络环境的共享。

Overlay模式

专为跨主机容器通信设计,通过虚拟网络将多个Docker主机连接在一起。主要适用于Docker Swarm集群或多主机环境下的容器通信场景,虽然支持跨主机通信并提供高可用性,但配置相对复杂且性能开销较高。

Macvlan模式

为容器分配独立的MAC地址,使其在物理网络中表现为独立的网络设备。这种模式适用于需要容器直接接入物理网络的场景,如网络设备模拟,虽然网络性能接近原生,但需要物理网络支持且MAC地址管理较为复杂。

IPvlan模式

与Macvlan类似,但容器共享主机的MAC地址,仅使用独立的IP地址。这种模式支持更多的容器实例,不占用额外MAC地址资源,网络性能同样接近原生,但配置复杂且需要物理网络支持

2.创建网桥

bash
docker network create -d 网桥名称

3.查看网桥

js
docker network ls

4.查看网络的细节

js
docker network inspect 网桥名称

5.删除一个网桥

js
docker network rm 网桥名称

6.运行多个容器指定在网络中

  • 启动时,容器指定使用哪个网桥
js
docker run -d -p 8080:8080 --name tomcat01 --network ems tomcat:8.0

注意

--network ems 是网络名称


  • 启动后,把容器加入网桥。
js
docker network connect 网桥名称 容器id

image.png 这样两个容器就能相互访问。

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document