gpt4 book ai didi

Dockerfile:入口点和 CMD

转载 作者:行者123 更新时间:2023-12-02 18:04:05 26 4
gpt4 key购买 nike

例如,我在 postgres 镜像 ( https://github.com/docker-library/postgres/blob/master/10/Dockerfile ) 的 Dockerfile 中看到,最后容器的启动定义如下:

ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 5432
CMD ["postgres"]

如果我理解正确,论点 postgres转入 docker-entrypoint.sh所以 $1脚本中的内容替换为 postgres并且脚本将被执行。

现在我的问题是我是否可以根据 postgres 图像( FROM postgres )定义我自己的 Dockerfile 但覆盖 CMD基本 Dockerfile 并完成首先在启动时执行命令,然后执行 docker-entrypoint.shpostgres争论?

像这样的东西:
FROM postgres
...
CMD <my-command> && [“postgres”]

最佳答案

您可以创建自己的 my-entrypoint.sh

$ cat my-entrypoint.sh
#!/bin/bash

#do what you need here e.g. <my-command>

#next command will run postgres entrypoint will all params
docker-entrypoint.sh "$@"

您的 docker 文件将如下所示
FROM postgres

# your stuff

ENTRYPOINT ["my-entrypoint.sh"]
EXPOSE 5432
CMD ["postgres"]

关于Dockerfile:入口点和 CMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49032048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com