在同一宿主机下,docker容器通过docker网桥进行连接,默认情况下,同一宿主机下的所有容器都可以连接。但是容器的ip可能随着容器重启而变化,所以docker提供了link选项提供可靠连接。
docker run --link=[CONTAINER]:[ALIAS] [IMAGE] [COMMAND]
–link 参数可以在不映射端口的前提下为两个容器间建立安全连接
–link 参数可以连接一个或多个容器到将要创建的容器。
–link 参数的格式为 --link name:alias,其中 name 是要链接的容器的名称,alias 是这个连接的别名。
link原理是在启动时自动添加环境变量(env命令查看)和修改了/etc/hosts文件。
容器间互联的实例:
根据ubuntu镜像启动一个名为vm3的容器,并将其连接到vm2上的连接(别名db)。这样在启动vm3后,比如使用ping db
就表示ping vm2容器
[root@foundation51 ~]# docker run -it --name vm2 ubuntu
[root@foundation51 ~]# docker run -it --name vm3 --link vm2:db ubuntu
- ping db
- env查看添加的环境变量
- 查看/etc/hosts文件的修改
实验结束后,删除所有正在运行的docker
[root@foundation51 ~]# docker rm -f `docker ps -aq`