本篇文章1456字,读完约4分钟
端口映射不是将码头工人连接到另一个容器的唯一方法。
码头工人有一个连接系统,允许多个集装箱连接在一起,共享连接信息。
Docker连接创建了一个父子关系,其中父容器可以看到子容器的信息。
当我们创建一个容器时,码头工人会自动给它命名。此外,我们还可以使用- name标识符来命名容器,例如:
# docker run-d-p-name runoob training/web app python app . py
首先,创建一个新的码头工人网络。命令如下:
# docker网络创建-d桥测试-网络
参数描述:
-d:该参数指定码头工人网络类型,包括桥梁和覆盖。
覆盖网络类型用于集群模式,在本节中可以忽略。
运行一个容器并连接到新创建的测试网络:
# docker run-itd-name test1-network test-net Ubuntu/bin/bash
打开一个新的终端,然后运行一个容器并加入测试网络:
以下ping证明test1容器和test2容器是互连的。
如果test1和test2容器中没有ping命令,请在容器中执行以下命令来安装ping(也就是说,将其安装在一个容器中,将容器提交给映像,然后用新映像重新运行上述两个容器)。
# apt-get更新
# apt安装iputils-ping
在test1容器中输入以下命令:
# docker exec -it test1 /bin/bash
这样,test1容器和test2容器建立了一种互连关系。
我们可以将以下内容添加到主机的/etc/docker/daemon.json文件中,以设置所有容器的dns:
# docker run-itd-name test2-network test-net Ubuntu/bin/bash
{
" dns" : [
“114.114.114.114”,
“8.8.8.8”
]
{}
设置后,启动容器的dns将自动配置为114.114.114.114和8.8.8.8。
配置后,码头工人需要重新启动才能生效。
要查看容器的dns是否有效,可以使用以下命令,该命令将输出容器的dns信息:
# docker run-it-RM Ubuntu cat etc/resolv . conf
如果您只想在指定的容器中设置dns,可以使用以下命令:
# docker run-it-RM host _ Ubuntu-DNS = 114 . 114 . 114 . 114-DNS-search = test Ubuntu
参数描述:
-h hostname或- hostname=hostname:设置容器的主机名,该主机名将被写入容器中的/etc/hostname和/etc/hosts。
-dns = IP _ address:向容器的/etc/resolv.conf中添加一个dns服务器,并让容器使用该服务器来解析不在/etc/hosts中的所有主机名。
-dns-search = domain:设置容器的搜索域。当搜索域设置为。例如,在搜索名为host的主机时,DNS不仅会搜索主机,还会搜索主机。
如果在容器启动时没有指定-dns和- dns-search,docker将默认在主机上用/etc/resolv.conf配置容器的dns。
相关阅读:
云计算核心技术教程:构建网络应用
云计算核心技术docker教程:docker映像使用
云计算核心技术教程:Docker容器连接
来源:搜狐微门户
标题:云计算核心技术Docker教程: Docker 容器互联
地址:http://www.shwmhw.com/shxw/31389.html