【问题标题】:Running CMD entered comand in entrypoint results in exited with code 0在入口点运行 CMD enter 命令会导致以代码 0 退出
【发布时间】:2021-01-11 07:33:42
【问题描述】:

我使用自己的入口点运行我的 Dockerfile(通过 docker-compose)。最后我想从 CMD 运行一个命令。不幸的是,该命令没有启动,我不知道为什么。我不知道我做错了什么。 我的入口点:

#!/bin/bash

/usr/bin/supervisord -c /etc/supervisord.conf &

/usr/sbin/crond &

su - www-data

exec "$@"

我的 Dockerfile

EXPOSE 9000

ENTRYPOINT "/root/entrypoint.sh"

CMD ["php-fpm"]

当我运行 docker-compose up 时,我看到:api_1 exited with code 0。我尝试运行 echo "$@" 并返回空字符串。我该怎么做才能启动 php-fpm?这是解决这个问题的正确方法吗?

【问题讨论】:

  • 系统上有用户 www-data 吗?

标签: php linux docker docker-compose devops


【解决方案1】:

事实证明,如果您使用不带 [] 的 ENTRYPOINT,则来自 CMD 的指令不会传递给入口点脚本。我将 ENTRYPOINT 更改为 ENTRYPOINT ["/root/entrypoint.sh"],现在一切正常 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多