目錄
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