2017-10-10 106 views
0

我使用docker的Laravel。在我的dockerfile裏面我有這個命令:Docker在運行映像時執行命令

RUN php artisan config:cache 

這對生產很有用,因爲它緩存了配置。當我開發我需要能夠經常更改配置,所以我每次運行圖像時我需要執行

RUN php artisan config:clear 

有沒有辦法來運行特定命令的碼頭工人的形象?即:

docker run my_image "php artisan config:clear" 

(如果你想知道,我做docker run而不是docker start經常因爲我經常構建圖像) 我想避免使用CMD裏面dockerfile因爲它是不是真的需要。

感謝

回答

1

如果你想運行的命令當前正在運行的容器內,你可以使用exec命令:

$ docker exec yourapp_web_1 php artisan config:clear

+0

我通常創建在我的搬運工成立了./commands文件夾。我將這樣的東西添加爲一個bash腳本,這樣我就可以以一種簡單的方式執行它。例如:'。/ commands/cc.sh' – yahyazini

+0

是的,我知道,沒有辦法從運行命令運行它?我超級忙碌,懶惰,如果我只能運行一個,我想避免運行兩個命令。 –