Docker网络模式详解

docker有四种网络模式:Bridge、Host、Container、None。docker默认是Bridge。实际中一般都是使用Bridge和Host

Bridge模式,当docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥。

Docker网络模式详解

查看容器信息

Docker网络模式详解

Host模式:如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。这里我拿tomcat测试下

Docker网络模式详解

由于是新的linux,没有开放8080端口,这里开启下

(firewall-cmd --add-port=8080/tcp --permanent、firewall-cmd --reload)

Docker网络模式详解

(docker run -d --net=host --name to1 94e31e5297d1)

Docker网络模式详解

Docker网络模式详解 

container模式:这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己网卡,配置自己的IP,而是和一个指定的容器共享IP,端口范围。

首先使用默认模式创建一个容器

(docker run -d --name nginx -p 80:80 -p 8080:8080 7743d9092020 )

Docker网络模式详解

此时80是好使的

Docker网络模式详解

8080不好使

Docker网络模式详解

 

使用container创建容器

(docker run -d --name to1 --net=container:nginx 94e31e5297d1)

Docker网络模式详解

Docker网络模式详解

有喜欢的朋友可以关注下头条号《老徐聊技术