如何修改docker容器中的hosts檔案

2021-09-12 11:38:37 字數 878 閱讀 8789

直接進入容器中修改/etc/hosts,這種方式在重啟容器後,增加的內容會丟失。

在製作映象的時候,直接修改。這種方式需要你是root使用者,/etc/hosts檔案對於普通使用者是沒有許可權的。所以你還要在容器中安裝sudo,增大了映象大小,不建議使用。

在使用docker run執行乙個新的容器的時候,通過引數--add-host來新增網域名稱和ip資訊到容器的/etc/hosts檔案中。例如:

docker run --add-host=myhostname:10.180.8.1 --name test -it debian
上面中我新增了乙個網域名稱myhostname,以及對應的ip位址10.180.8.1

docker-compose.yml檔案中,通過配置引數extra_hosts來實現。例如:

extra_hosts:

- "somehost:162.242.195.82"

- "otherhost:50.31.209.229"

你就可以在你容器中/etc/hosts中看到下面的內容:

162.242.195.82  somehost

50.31.209.229 otherhost

參考文章

docker run

compose file version 3 reference

Docker容器如何修改hosts

參考文章 docker修改hosts hosts檔案其實並不是儲存在docker映象中的,etc hosts,etc resolv.conf和 etc hostname,是存在主機上的 var lib docker containers docker id 目錄下,容器啟動時是通過mount將這些檔...

Docker容器 如何修改容器時間,時區問題修改

在進行操作的時候,我們先確定下時間錯誤是什麼引起的,是時間錯誤,還是時區問題 如果只是單純的時間異常,可以直接使用docker exec it u root 24795ac94ae7 bin sh 進入自己的容器進行修改就行了 注 要加 u root 不然許可權會不足,會提示permission d...

如何修改docker無法啟動容器中的配置

一次修改docker容器中mysql配置檔案mysql.cnf,重啟容器後發現啟動不了,這種情況下怎麼修改原先的配置檔案呢?1 可以先docker logs 容器名 檢視容器出錯的原因 2 使用 docker cp 容器名 etc mysql mysql.cnf 注意上面命令尾部有個.哦,把檔案複製...