4
我有一個wait-for-it
腳本添加到我的docker映像中,並在docker-compose中執行它。它工作正常,在此設置:在docker-compose中執行wait-for-it腳本的正確方法
在泊塢窗 - 撰寫:
entrypoint: ./wait-for-it.sh mysql
所述等待,它的腳本:
...checks
>&2 echo "MySQL is up - executing command"
exec ../../../entrypoint.sh npm start
命令輸出,當我執行docker ps
是:
COMMAND
"./wait-for-it.sh ..."
這工作正常,但我不喜歡'設置'。 我希望wait-for-it.sh
被執行,如果成功,我想去我的dockerfile的ENTRYPOINT
+ CMD
。我不想從我wait-for-it.sh內開始我的入口點硬編碼
所以我改變了我的wait-for-it.sh腳本:
>&2 echo "MySQL is up - executing command"
exec "[email protected]"
裏面我dockerfile我有:
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 2368
CMD ["npm", "start"]
如何我的搬運工,compose.yaml需要尋找一個正確的方式我等待換它腳本執行後,執行此?
所以我想,當我執行docker ps
得到這個輸出:
COMMAND
"/entrypoint.sh np..."
我想這樣的事情在我docker-compose.yaml
但沒有奏效:
entrypoint: ./wait-for-it.sh mysql /entrypoint.sh
command: ["npm", "start"]
我的腳本有效。我也做了類似'until ...'的工作還沒有完成,當它工作時,它會跳到我的執行。這只是碼頭工人的設置,我不知道。我現在正在執行我的等待作爲入口點並開始我的真實入口點硬編碼 – DenCowboy