我有一個docker-compose dev stack。當我運行,docker-compose up --build
,容器將建成,它將執行如何在Docker構建後在主機上的容器內保留更改?
Dockerfile:
RUN composer install --quiet
該命令會寫一堆文件的./vendor/
目錄,它是那麼只有在容器內可用的內部,如預期。主機上現有的vendor/
未觸及,因此已過時。
由於我使用發展方面的容器,並希望我的變化可用,我裝在容器內的當前目錄爲卷:
泊塢窗,compose.yml:
my-app:
volumes:
- ./:/var/www/myapp/
此負載一個過期的vendor
目錄放入我的容器中;迫使我在主機上或容器內部重新運行composer install
以獲得最新版本。
我想知道如何以不同的方式管理我的docker-compose堆棧,以便docker build期間對當前文件夾進行的更改也會保留在主機目錄中,而且我不必兩次運行該命令。
我確實想保留vendor
文件夾,因爲有些vendors
是我自己的,我喜歡在我當前的項目中修改它們。所以只有安裝我需要運行我的應用程序的文件夾不是最好的解決方案。
我正在尋找一種方法來告訴docker-compose:在添加捲之前,將容器內的所有內容寫回主機。
@ZeRubeus我大部分時間都在做。但有時重建是必要的。然後我想避免重新運行一個命令。 – k0pernikus