【问题标题】:Prepend command using docker-compose while maintaining Dockerfile CMD在维护 Dockerfile CMD 的同时使用 docker-compose 预先添加命令
【发布时间】:2022-01-17 23:55:37
【问题描述】:

在我的 Dockerfile 中,我指定了 CMD:

CMD ["/usr/local/bin/node", "server.js"]

但是我希望在我的docker-compose 中添加一个命令,该命令应该在上述CMD 之前运行之前,但不要覆盖它。 IE。这两个命令都应该被执行。

【问题讨论】:

标签: docker docker-compose


【解决方案1】:

docker-compose 中的 command 标记始终覆盖 CMD。

所以你可以

command: >
    bash -c "# The work you want to do
    && exec /user/local/bin/node server.js"

或者在您的Dockerfile 中使用脚本(节点或只是 shell 脚本)。

if [ -n $FLAG ]; then
  # Do the processing
fi
exec /user/local/bin/node server.js

在您的docker-compose.yml 中,您将FLAG 变量添加到environment 部分。

environment:
  FLAG: "yes"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多