相关疑难解决方法(0)

Dockerfile中CMD和ENTRYPOINT有什么区别?

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

文档说明了 CMD

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

并为ENTRYPOINT:

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

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

docker

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

Dockerfile 中是否需要提及 CMD 或 ENTRYPOINT?

我已阅读有关 CMD 和 ENTRYPOINT 的文档

https://docs.docker.com/engine/reference/builder/#entrypoint

在这里,他们在表中提到“不允许使用 CMD 和 NO ENTYRPOINT”,但是我创建了一个没有 CMD 和 ENTRYPOINT 的 Dockerfile,并且镜像构建成功。下载高山焦油从这里高山焦油

文件

from scratch 
ADD alpine-minirootfs-3.11.2-x86_64.tar.gz /
COPY . /
Run Code Online (Sandbox Code Playgroud)

构建图像:

docker build -t test:1 .
Sending build context to Docker daemon  2.724MB
Step 1/3 : from scratch
-----
Successfully tagged test:1

docker run -ti test:1 /bin/sh
/ # 
Run Code Online (Sandbox Code Playgroud)

有效!!那么为什么在文档中提到 CMD 或 ENTRYPOINT 是必要的?

docker dockerfile

7
推荐指数
2
解决办法
3883
查看次数

如何使用空入口点提交Docker容器?

我有一个原始docker映像,我想运行一个容器并对其进行修改,然后提交一个新映像。我检查了原始的docker映像,并且有一个conf

"Config": {
        ...
        "Cmd": [
            "/bin/bash",
            "-ic",
            "./run.sh"
        ],

         ...,
        "Entrypoint": null,
        ...
    },
Run Code Online (Sandbox Code Playgroud)

我想为新提交的映像保留相同的Cmd和Entrypoint。但是无论是否使用--change,我都无法保留“ Entrypoint”:新图像的null。有什么办法吗?而且,我也使用docker-py,它有同样的问题。

containers docker

3
推荐指数
1
解决办法
711
查看次数

标签 统计

docker ×3

containers ×1

dockerfile ×1