1. 程式人生 > 其它 >Docker網路之網路配置

Docker網路之網路配置

  在映象run後進入容器的狀態時,實際可以理解為容器在映象的基礎上包裹了一個“初始化層”的檔案層。這個檔案層實際上做了什麼呢?其實容器中的主機名和DNS配置資訊都是通過3個系統配置檔案來維護的,這些檔案就放在“初始化層”,分別是/etc/hosts、/etc/resolv.conf、/etc/hostname。

  啟動一個容器後,可以在容器中使用mount命令可以檢視這三個檔案的掛載資訊,以nginx為例示例,如下:

      

       

   其中,/etc/resolv.conf檔案在建立容器的時候會預設與宿主機的/etc/resolv.conf保持一致,而/etc/hosts中只會記錄一些與容器相關的地址和名稱資訊,/etc/hostname中記錄的是主機名。

  雖然以上3個檔案在容器中都執行修改,但是當容器重啟或者終止後就會丟失。因此在容器中修改hosts時,要在容器重啟時在執行一次。而且這3個檔案的修改不會被docker commit提交——即不能通過更新映象的方式儲存。

  對於網路,Docker提供了子命令network。在Docker網路之多容器之間通訊 - 池塘裡洗澡的鴨子 - 部落格園 (cnblogs.com)已經有所應用,具體參考官網docker network | Docker Documentation可以進行網路配置相關操作。