相关疑难解决方法(0)

Dockerfile中CMD和ENTRYPOINT有什么区别?

在Dockerfiles中有两个看起来与我类似的命令:CMDENTRYPOINT.但是我猜它们之间存在着一种(微妙的?)差异 - 否则对于同样的事情来说两个命令就没有任何意义.

文档说明了 CMD

CMD的主要目的是为执行容器提供默认值.

并为ENTRYPOINT:

ENTRYPOINT可帮助您配置可作为可执行文件运行的容器.

那么,这两个命令之间的区别是什么?

docker

1484
推荐指数
14
解决办法
44万
查看次数

默认Docker入口点

我正在从另一个设置特定入口点的图像创建图像.但是我希望我的图像具有默认图像.如何重置ENTRYPOINT?

我尝试了以下Dockerfile:

FROM some-image
ENTRYPOINT ["/bin/sh", "-c"]
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不像默认入口点那样工作,因为它需要引用命令.

docker run myimage ls -l /    # "-l /" arguments are ignored
file1 file2 file3             # files in current working directory

docker run myimage "ls -l /"  # works correctly
Run Code Online (Sandbox Code Playgroud)

如何在不引用的情况下使用命令?

sh docker

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

docker ×2

sh ×1