1. 程式人生 > >Docker容器間的互聯

Docker容器間的互聯

在同一宿主機下,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`