本篇内容介绍了“docker容器怎么与宿主机通讯”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
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容器怎么与宿主机通讯”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。