容器之間可通過 IP,Docker DNS Server 或 joined 容器三種方式通信。
IP 通信
從上一節(jié)的例子可以得出這樣一個結(jié)論:兩個容器要能通信,必須要有屬于同一個網(wǎng)絡(luò)的網(wǎng)卡。
滿足這個條件后,容器就可以通過 IP 交互了。具體做法是在容器創(chuàng)建時通過 --network
指定相應(yīng)的網(wǎng)絡(luò),或者通過 docker network connect
將現(xiàn)有容器加入到指定網(wǎng)絡(luò)。可參考上一節(jié) httpd 和 busybox 的例子,這里不再贅述。
Docker DNS Server
通過 IP 訪問容器雖然滿足了通信的需求,但還是不夠靈活。因為我們在部署應(yīng)用之前可能無法確定 IP,部署之后再指定要訪問的 IP 會比較麻煩。對于這個問題,可以通過 docker 自帶的 DNS 服務(wù)解決。