簡體   English   中英

將文件從主機替換為已掛載卷的容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM