就我而言,您可以在使用 构建映像RUN或运行容器时运行命令行CMD。启动 docker 容器时是否可以这样做?
我的目标是在输入后自动运行 gcloud 数据存储区docker start my_container_name。
如果可能的话,我应该对我的 Dockerfile 应用哪些更改?
(我已经安装了所需的所有软件包,之后可以运行该命令docker run --name my_container_name -i -t my_image_name,但我希望在启动容器时也运行它)
ane*_*yte 11
Docker在构建镜像时执行RUN命令。
Docker在启动容器时执行ENTRYPOINT命令。作为 的参数。当您从图像创建容器时,这两个都可以被覆盖。它们在 Dockerfile 中的目的是为将来您或其他人从此映像创建容器时提供默认值。CMDENTRYPOINT
考虑这个例子:
FROM debian:buster
RUN apt update && apt install procps
ENTRYPOINT ["/usr/bin/ps"]
CMD ["aux"]
Run Code Online (Sandbox Code Playgroud)
该RUN命令将ps命令添加到映像中,ENTRYPOINT并且CMD不会执行,但当您运行容器时它们将会执行:
FROM debian:buster
RUN apt update && apt install procps
ENTRYPOINT ["/usr/bin/ps"]
CMD ["aux"]
Run Code Online (Sandbox Code Playgroud)
每次使用时docker run都会创建一个容器。使用的 ENTRYPOINT和CMD被保存为容器属性并在每次启动容器时执行。
| 归档时间: |
|
| 查看次数: |
10357 次 |
| 最近记录: |