gpt4 book ai didi

docker - docker-image-as-executable:我应该以CMD还是ENTRYPOINT执行?

转载 作者:行者123 更新时间:2023-12-02 20:09:15 25 4
gpt4 key购买 nike

我正在创建一个Docker镜像来初始化我的PostgreSQL数据库。看起来像这样:

FROM debian:stretc

RUN set -x \
&& ... ommitted ...
&& apt-get install postgresql-client -y

COPY scripts /scripts

CMD cd /scripts && psql -f myscript.sql

这很好。每当我需要初始化数据库时,我都会启动容器( docker run --rm my-image)。完成 psql命令后,容器会自动停止并删除(由于 --rm)。所以基本上,我有一个Docker-image-as-executable。

但是,我很困惑最后一行是否应该是:
CMD cd /scripts && psql -f myscript.sql

要么
ENTRYPOINT cd /scripts && psql -f myscript.sql

在我的情况下,应该使用哪一个(Docker-image-as-excutable)?为什么?

最佳答案

如果需要将其设置为“Docker-image-as-executable”,则需要使用ENTRYPOINT

  • RUN执行您在新层中提供的命令并创建
    一个新的形象。这主要用于安装新软件包。
  • CMD设置默认命令和/或参数,但是,我们可以覆盖
    这些命令或传入并绕过默认参数
    docker运行
  • 时的命令行
    想要将容器作为可执行文件运行时,使用
  • ENTRYPOINT。
  • 关于docker - docker-image-as-executable:我应该以CMD还是ENTRYPOINT执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670210/

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