搬運工撰寫V3
我試圖運行像composer update
一些特定的應用程序的命令,每當我跑docker-compose up
,沿這如何使用docker-compose在Docker鏡像和入口點之間運行命令?
version: '3'
services:
app1:
image: laraedit/laraedit
ports:
- 3000:80
volumes:
- ./appfolder:/var/www/appfolder
如果我行泊塢窗,compose.yml文件看起來我在入口點運行我的第一次運行命令,它將覆蓋默認laraedit/laraedit運行的所有命令。 (至少我這麼認爲,因爲當我的入口點命令完成時容器總是停止)
我不想打擾laraedit/laraedit啓動過程,我只是想執行一些命令。
如果我不使用docker-compose,那麼我會在本地使用laraedit/laraedit Dockerfile,然後我可以編輯它並在其中添加一個RUN語句。
但是由於我沒有Dockerfile,並且我無法在不拋開容器的正常啓動的情況下創建入口點,所以我不知道如何自動化每次運行這些無聊命令的過程我運行docker-compose up
。
事情我已經嘗試:
- 加入我自己的Dockerfile(替換laraedit的)
- 運行entrypoint script(阻止laraedit的啓動)
- 運行它們作爲command(該命令沒有執行)
AFAIU,如果你不希望使用「laraedit/laraedit」的形象,那麼你必須使用不同的Dockerfile進行編輯。通過新創建的Dockerfile創建新圖像並在撰寫文件中使用它。我也在等待答案:-)。 – vivekyad4v
是這個https://github.com/laraedit/laraedit-docker/blob/master/Dockerfile原始碼頭文件?如果是這樣,當重寫'command'或'entrypoint'時'supervisord'正在運行? – ItayB
@ItayB是的,這是正確的dockerfile。當從'docker-compose.yml'覆蓋'command'或'entrypoint'值時,'supervisord'從不運行。 – Bango