![](/img/trans.png)
[英]Running docker on Ubuntu: mounted host volume is not writable from container
[英]Replace a file from host to container with mounted volume
我正在嘗試更改應用程序設置所需的一些配置文件,但不想更改源代碼中的原始配置文件。
原始配置文件的路徑是/usr/src/app/env_configs/local_db_setup.rb
我嘗試實現這一目標的方法是在我的 Dockerfile 中
cp <path of new config on host>/local_db_setup.rb /usr/src/app/env_configs/
但是,我認為由於我的卷安裝在docker-compose.yml
,因此復制沒有發生或被覆蓋。
volumes:
-.:/usr/src/app
我該怎么辦?
如果您綁定掛載到容器上的非空目錄中,則該目錄的現有內容會被綁定掛載所掩蓋。 因此,容器內/usr/src/app
任何現有內容都會被隱藏。
如果您想在問題中提到的圖像構建期間復制新的配置文件,您可以將其復制到圖像中的不同目錄( /tmp/config/
)並將其移動到正確的位置( /usr/src/app/env_configs/
) 使用入口點腳本,該腳本首先執行移動然后啟動實際入口點。
相反,如果可以的話,您也可以直接從主機掛載配置文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.