首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker镜像的默认命令

docker镜像的默认命令
EN

Stack Overflow用户
提问于 2021-05-14 19:16:18
回答 2查看 36关注 0票数 1

我如何才能知道容器使用基础镜像运行的默认命令,而不是实际从镜像创建新的容器?

是不是我在这里遗漏了什么概念?我正在写一个使用基本图像的dockerfile,但是我不知道在CMD部分中放什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-14 20:34:37

你总是可以在终端上执行docker image inspect <image>,在那里你会得到一堆信息。

我运行docker image inspect busybox (一些随机图像),得到以下结果

代码语言:javascript
复制
[
    {
        
        "Parent": "",
        "Comment": "",
        "Created": "2021-05-04T00:19:49.531663542Z",
        "Container": "22c781af50cbbf2c31a3fb57c21d4dcfb266d6691441657088db6750d4068d22",
        "ContainerConfig": {
            "Hostname": "22c781af50cb",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"sh\"]"
            ],
            
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "19.03.12",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh"
            ],
            
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1235829,
        "VirtualSize": 1235829,
        "GraphDriver": {
            "Data": {
      },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

在这里您可以看到CMD字段

票数 1
EN

Stack Overflow用户

发布于 2021-05-14 19:23:44

docker image inspect

将为您提供更多详细信息。

例如:

代码语言:javascript
复制
$ docker pull nginx
$ docker image inspect nginx:latest
...
"0":
  "Config": {
    ...
    "Cmd": [
      "nginx",
       "-g",
       "daemon off;"
    ],
    ...
}

因此,对于Nginx来说,它是[nginx, -g, daemon off;]

或者,如果安装了jq,则显示ubuntu:20.04的输出

代码语言:javascript
复制
$ docker pull ubuntu:20.04
$ docker image inspect ubuntu:20.04 | jq '.[0].Config.Cmd'
[
  "/bin/bash"
]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67533423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档