命令格式
docker run -d --name myname--link toname:alisname -p 本地端口:容器端口 镜像名称
参数说明:
- -- name:新容器名词
- -- link:目标容器名称:别名
- -p:本地端口:容器端口
link原理
--link的原理就是在/etc/hosts里面添加了一个alias的名称
测试
首先启动一个tomcat01的容器
docker run -itd --name tomcat01 -p 8100:8080 tomcat:8.5.38
docker ps 获取容器的id d92f947ea54f
获取单个容器 ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' d92f947ea54f
启动一个nginx容器设置与tomcat01连通
docker run -itd --name nginx01 --link tomcat01 nginx
进入容器内部查看 etc/hosts配置文件
docker exec -it nginx01 /bin/bash #进入容器内部
apt update && apt install -y iproute2 # 安装ping命令
cat /etc/hosts #查看配置文件
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.4 tomcat01 d92f947ea54f
172.17.0.6 70aa4c7dde72
测试nginx01 ping tomcat01
docker exec -it nginx01 ping tomcat01
PING tomcat01 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.102 ms
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.093 ms
64 bytes from 172.18.0.2: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 172.18.0.2: icmp_seq=3 ttl=64 time=0.073 ms
link参数注意事项
- 使用link参数建立的容器所链接的主机需要处于运行状态
- 所链接的容器也必须是运行状态
- 使用link选项链接的主机ip不需要固定,因为每次新建容器都会检查所链接容器的ip,并在/etc/hosts里生成新的alias 名称对应的ip
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341