文章目录
- 前言:
- 开始:
- 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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
容器名 和 容器ID 都具有唯一性!
2、使用 run --link 为容器建立互联关系:
root@zhengzelin:~# docker run --help
.....
--link list 将链接添加到另一个容器
语法格式:
"docker run --link 源容器名:别名 接收容器的镜像名:tag"
使用例子:
上面创建了 test1 作为源容器(子容器);现在创建一个 receive 容器作为接收容器(父容器)!
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
这里的话 怎么说呢?我是没做成,就先不写了,具体的话也可以看看简书的这个: /p/21d66ca6115e
关于 docker run --link 的详解:/zhangyifei216/article/details/50921215