目录
1、--link 介绍
2、实例
3、为什么容器能解析容器名
1、--link 介绍
docker容器间互联的方法:--link(单方向的互联),先启动的容器只能用IP地址连接后启动的容器,后启动的容器可通过IP地址、容器名、别名进行连接。
docker run -d --name http 2199b8eb8390 tail -F /qq/qq
docker run -d --name 02 --link http:web01 2199b8eb8390 tail -F /qq/qq
http 要访问的那个容器的名字
web01 给http容器起的别名
容器02要访问容器http,因为http容器没有做端口映射,所以在外部是访问不了http容器,但在容器内部也就是容器间是可以互相访问的。
这个--link参数是单向的,只能容器02访问容器http,容器http不能访问容器02。
2、实例
(1)启动一个http容器
docker run -d --name http 2199b8eb8390 tail -F /qq/qq
(2)再启动一个容器,访问http容器
docker run -d --name 02 --link http:web01 2199b8eb8390 tail -F /qq/qq
(3)查看容器http内Apache服务是否起来
docker top httpd
(4)查看http容器的IP地址
docker inspect httpd
(5)进入测试容器02,进行curl(IP地址或容器名或别名)测试
- docker exec -it 02 /bin/bash
- curl -I 172.17.0.2
- curl -I httpd
- curl -I web01
(6)测试完成
3、为什么容器能解析容器名
当容器创建并启动后,会自动的在hosts文件里添加解析,对于容器来说,它自己知道自己的IP地址,在没有添加--link的时候是没有172.17.0.2的解析的,当添加--link的时候,这条会自动添加。
[[email protected] /]# cat /etc/hosts