Docker容器間的互聯
阿新 • • 發佈:2018-11-19
在同一宿主機下,docker容器通過docker網橋進行連線,預設情況下,同一宿主機下的所有容器都可以連線。但是容器的ip可能隨著容器重啟而變化,所以docker提供了link選項提供可靠連線。
docker run --link=[CONTAINER]:[ALIAS] [IMAGE] [COMMAND]
–link 引數可以在不對映埠的前提下為兩個容器間建立安全連線
–link 引數可以連線一個或多個容器到將要建立的容器。
–link 引數的格式為 --link name:alias,其中 name 是要連結的容器的名稱,alias 是這個連線的別名。
link原理是在啟動時自動新增環境變數(env命令檢視)和修改了/etc/hosts檔案。
容器間互聯的例項:
根據ubuntu映象啟動一個名為vm3的容器,並將其連線到vm2上的連線(別名db)。這樣在啟動vm3後,比如使用ping db
就表示ping vm2容器
[[email protected] ~]# docker run -it --name vm2 ubuntu
[[email protected] ~]# docker run -it --name vm3 --link vm2:db ubuntu
- ping db
- env檢視新增的環境變數
- 檢視/etc/hosts檔案的修改
實驗結束後,刪除所有正在執行的docker
[[email protected] ~]# docker rm -f `docker ps -aq`