Docker 互联机制 实现 Docker 两个容器之间 便捷互访!( docker run --link)

文章目录

      • 前言:
      • 开始:
        • 1、创建自定义容器名的容器
        • 2、使用 run --link 为容器建立互联关系:

       


       

看这里:

        戳此链接 通往 关于 Docker 所有的学习文章 !


 

前言:

        容器外部 要访问 容器内部 网络应用服务的时候,得做 容器内的端口映射才可以访问!将容器内的端口映射到宿主机上面!我们通过访问宿主机上被映射的端口来访问容器内部的应用!(★ 关于 端口映射!)

        那么问题来了,容器之间有没有其他办法实现容器的交互?

        容器的互联 —— 是一种让多个容器中的应用进行快速交互的方式! 它会在 源容器 和 接收容器 之间创建连接关系!接收容器通过源容器的容器名快速访问到源容器,而不用指定具体的ip!

源容器 —— 被连接的容器(子容器
接收容器 —— 主动连接"他人"的容器(父容器

        使用 docker run --link 是在两个 container 之间建立一种父子关系,父 container 可以得到 子container 上的信息。 docker官方已不推荐使用docker run --link来链接2个容器互相通信,随后的版本中会删除–link,但了解其原理,对如何使2个容器之间互相通信还是有帮助的。

       


       

开始:

 

1、创建自定义容器名的容器

自定义容器名的好处: 方便记忆,并且设置容器名与该容器有关,让人一眼就知道该容器的作用!

docker run -itd --name=test1 nginx:latest /bin/bash
docker run -itd --name=test2 fedora:latest /bin/bash

# 如果在 run 一个容器时 加上选项 --rm ,表示该容器停止时则删除,选项 --restart=always 表示如果该容器停止则立即重启!

# eg:
# docker run -itd --name=test2 --rm fedora:latest /bin/bash (即使有 -d 也会删除)
# docker run -itd --name=test3 --restart=always fedora:latest /bin/bash 

root@zhengzelin:~# docker ps
CONTAINER ID        IMAGE             COMMAND           CREATED             STATUS          PORTS         NAMES
3ec9c7d5b320     fedora:latest      "/bin/bash"       2 minutes ago       Up 2 minutes                    test2
cf4bc628d620     nginx:latest       "/bin/bash"       6 hours ago         Up 6 hours       80/tcp         test1

容器名 和 容器ID 都具有唯一性!
 

2、使用 run --link 为容器建立互联关系:

root@zhengzelin:~# docker run --help
.....
--link list      将链接添加到另一个容器     

语法格式: 
"docker  run  --link  源容器名:别名   接收容器的镜像名:tag"


使用例子:

上面创建了 test1 作为源容器(子容器);现在创建一个 receive 容器作为接收容器(父容器)!

这里的话 怎么说呢?我是没做成,就先不写了,具体的话也可以看看简书的这个: https://www.jianshu.com/p/21d66ca6115e

 
关于 docker run --link 的详解:https://blog.csdn.net/zhangyifei216/article/details/50921215

你可能感兴趣的:(Docker,docker)