容器的互联(linking)是一种让多个容器中的应用进行快速交互的方式。它会在源和接收容器之间创建关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的IP地址。
1、自定义容器命名
$docker run -d -P --name web training/webapp python app.py
2、容器互联
a.创建新的数据库容器:
$docker run -d --name db training/postgres
b.创建web容器,并将它连接到db容器:
$docker run -d -P --name web --link db:db training/webapp python app.py
此时,db容器和web容器建立互联关系。link参数的格式为--link name:alias,其中name是要链接的容器的名称,alias是别名。
Docker相当于在两个互联的容器之间创建了一个虚机通道,而且不用映射它们的端口到宿主主机上。在启动db容器的时候并没有使用-p和-P标记,从而避免了暴露数据库服务端口到外部网络上。
c.查看父容器web的hosts文件:
$root@86b1c7bf9433:/opt/webapp# cat /etc/hosts
d.可以在web容器中ping命令来测试跟db容器的联通:
$root@86b1c7bf9433:/opt/webapp#ping db
用户可以链接多个子容器到父容器,比如可以链接多个web到同一个db容器上。