Docker容器间的互联

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hannah_zh/article/details/84032460

在同一宿主机下,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`

猜你喜欢

转载自blog.csdn.net/Hannah_zh/article/details/84032460