首页 > 服务器学习 > docker容器如何与宿主机通讯

docker容器如何与宿主机通讯

时间:2023年1月20日 分类:服务器学习 浏览量:15

docker容器如何与宿主机通讯?当docker服务启动起来时,宿主机器便作为网关的存在与其他Docker容器处在同一个网段内,就像是路由器和各个连接终端之间的关系,宿主机就类似于路由器。

1、bridge 模式

当docker进程启动时,主机上会创建一个名为docker0的虚拟网桥,容器内部会创建一个只能容器内部看到的接口eth0,eth0 和docker0工作方式就像物理二层交换机一样,可以互相通信。

docker同宿主机容器和不同宿主机容器之间通信,命令执行过程:

#docker run -tid --net=bridge --name docker_bri1 ubuntu-base:v3
#docker run -tid --net=bridge --name docker_bri2 ubuntu-base:v3

#brctl show
#docker exec -ti docker_bri1 /bin/bash
#docker exec -ti docker_bri1 /bin/bash

#ifconfig –a
#route –n

2、host模式

容器启动时候用host模式,那么容器不会像第一张那样有个独立Network NameSpace。而是和主机共享一个Network NameSpace。使用宿主机的ip和端口,但是容器的系统,进程列表等还是和主机隔离。

docker同宿主机容器和不同宿主机容器之间通信,命令执行:

#docker run -tid --net=host --name docker_host1 ubuntu-base:v3
#docker run -tid --net=host --name docker_host2 ubuntu-base:v3

#docker exec -ti docker_host1 /bin/bash
#docker exec -ti docker_host1 /bin/bash
#ifconfig –a
#route –n

3、none模式

Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。

docker同宿主机容器和不同宿主机容器之间通信

#docker run -tid --net=none --name docker_non1 ubuntu-base:v3
#docker exec -ti docker_non1 /bin/bash

#ifconfig –a
#route -n

西部数码容器云产品是基于docker技术,灵活强大,可弹性扩展,拥有上万Linux镜像,自由搭建私有网络,轻松组建服务集群,支持广播多播通信。私有网络免费,性价比高。

容器云产品链接 paas/container/

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

标签: