300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > docker容器的网络配置 允许docker可以被宿主机以外的其它主机访问以及局域网内可以直

docker容器的网络配置 允许docker可以被宿主机以外的其它主机访问以及局域网内可以直

时间:2020-04-27 03:23:53

相关推荐

docker容器的网络配置 允许docker可以被宿主机以外的其它主机访问以及局域网内可以直

自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求。容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信。

一、端口映射(局域网,外网此方式均可)。

此种方式是将容器的某个端口映射到宿主机的某个端口,其它主机访问容器提供的服务需要通过宿主机的IP进行访问:

docker run -p 9000:8000 --name centos1_py2 -itd --privileged=true dockerstorage/centos_py2:latest /usr/sbin/init

这种方式是在通过镜像创建容器的时候指定的,如图所示,加入我们在容器centos1_py2中用8000端口运行一个项目,通过此项配置就可以将容器的8000端口映射到宿主机的9000端口,那么其它主机就可以通过 宿主机的ip:9000来访问运行在容器中的项目了。

注:

容器有自己的内部网络和 ip 地址(使用docker inspect可以获取所有的变量,Docker 还可以有一个可变的网络配置。)-p 标记可以多次使用来绑定多个端口 如:docker run -p 9000:8000 -p 10000:80--name centos1_py2 -itd --privileged=true dockerstorage/centos_py2:latest /usr/sbin/init

注:也可以使用指定网络方式为host,这个模式下创建出来的容器,直接使用容器宿主机的网络命名空间。

docker run --name centos1_py2 -itd --privileged=true --net=hostdockerstorage/centos_py2:latest /usr/sbin/init

这样在容器中运行程序就和在主机中运行的一样,访问主机的ip就可以访问运行的应用

二、容器的IP可以被宿主机以及其它主机直接访问(局域网)。

docker单主机容器通信

这些网络模式在相互网络通信方面的对比如下所示:

南北向通信指容器与宿主机外界的访问机制,东西向流量指同一宿主机上,与其他容器相互访问的机制。

host模式

bridge模式

none模式

其他容器(container)模式

用户定义网络模式

docker跨主机容器通信

Dokcer通过使用Linux桥接提供容器之间的通信,docker0桥接接口的目的就是方便Docker管理。当Docker daemon启动时需要做以下操作

列出当前主机网桥

查看当前 docker0 ip

在容器运行时,每个容器都会分配一个特定的虚拟机口并桥接到docker0。每个容器都会配置同docker0 ip相同网段的专用ip 地址,docker0的IP地址被用于所有容器的默认网关。

一般启动的容器中ip默认是172.17.0.1/24网段的。

那么能不能在创建容器的时候指定特定的ip呢?这是当然可以实现的!

注意:宿主机的ip路由转发功能一定要打开,否则所创建的容器无法联网!

一、创建容器使用特定范围的IP

使用pipework给容器设置一个固定的ip

二、不同主机间的容器通信(pipework config docker container ip)

-----------------------------------------------几个报错出来---------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------

其实除了上面使用的pipework工具还,还可以使用虚拟交换机(Open vSwitch)进行docker容器间的网络通信,废话不多说,下面说下Open vSwitch的使用:

本文跨主机通信部分转自:/kevingrace/category/839227.html

docker容器的网络配置 允许docker可以被宿主机以外的其它主机访问以及局域网内可以直接访问docker容器ip

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。