我有一个 wait-for-it
脚本添加到我的docker镜像中,我在docker-compose中执行它 . 它适用于此设置:
在docker-compose中:
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 ..."
这工作正常,但我没有't like the '设置' . 我希望 wait-for-it.sh
被执行,如果成功,我想去我的dockerfile的 ENTRYPOINT
CMD
. 我不想在wait-for-it.sh中硬编码我的入口点
所以我改变了wait-for-it.sh脚本:
>&2 echo "MySQL is up - executing command"
exec "$@"
在我的dockerfile里面,我有:
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 2368
CMD ["npm", "start"]
在执行wait-for-it脚本后,我的docker-compose.yaml如何以正确的方式执行此操作?
所以我想在执行 docker ps
时得到这个输出:
COMMAND
"/entrypoint.sh np..."
我在_2742854中尝试了类似的东西,但是没有用:
entrypoint: ./wait-for-it.sh mysql /entrypoint.sh
command: ["npm", "start"]
1 回答
你将使用这样的脚本;