Docker容器如何修改hosts

2022-05-22 13:21:08 字數 847 閱讀 9938

參考文章:docker修改hosts

hosts檔案其實並不是儲存在docker映象中的,/etc/hosts, /etc/resolv.conf和/etc/hostname,是存在主機上的/var/lib/docker/containers/(docker_id)目錄下,容器啟動時是通過mount將這些檔案掛載到容器內部的。因此如果在容器中修改這些檔案,修改部分不會存在於容器的top layer,而是直接寫入這3個檔案中。容器重啟後修改內容不存在的原因是docker每次建立新容器時,會根據當前docker0下的所有節點的ip資訊重新建立hosts檔案。也就是說,你的修改會被docker給自動覆蓋掉。

開啟容器時候新增引數–add-host machine:ip可以實現hosts修改

entrypoint /bin/sh -c /data/run.shrun.sh的內容如下:

# 向hosts檔案追加內容

#cat /data/myhosts >> /etc/hosts

echo "192.168.1.37 testgitlab.kuaidihelp.com" >> /etc/hosts

# 其他命令

# 保留終端,防止容器自動退出

/bin/sh

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

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

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

直接進入容器中修改 etc hosts,這種方式在重啟容器後,增加的內容會丟失。在製作映象的時候,直接修改。這種方式需要你是root使用者,etc hosts檔案對於普通使用者是沒有許可權的。所以你還要在容器中安裝sudo,增大了映象大小,不建議使用。在使用docker run執行乙個新的容器的時候...

Docker 如何動態修改容器埠對映

前言 docker埠對映往往是docker run命令時通過 p將容器內部埠對映到宿主機的指定埠上,一般來說容器的埠所對應的埠是提前確定需要對映的。但是有些情況下不得不需要臨時對映埠,例如docker中執行著mysql容器,預設埠是不開放的。那麼有什麼辦法可以讓執行中的容器暴露指定的埠呢?客官請往下...