本篇内容介绍了“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容器怎么与宿主机通讯”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!