【问题标题】:Difference between docker run and docker container rundocker run 和 docker 容器运行的区别
【发布时间】:2018-07-09 14:10:09
【问题描述】:

谁能帮助我理解 docker rundocker container run 之间的区别?

当我从 docker cmd 行执行 docker run --helpdocker container run --help 时。我看到以下内容

在新容器中运行命令

它们在内部运行容器的方式有什么不同,还是两者都做同样的工作?

根据https://forums.docker.com/t/docker-run-and-docker-container-run/30526docker run 仍然是旧的,很快就会被弃用,但未确认。

【问题讨论】:

    标签: docker


    【解决方案1】:

    它们完全一样。

    在 docker 1.13 之前,docker run 命令仅可用。然后将 CLI 命令重构为具有docker COMMAND SUBCOMMAND 的形式,其中命令为container,子命令为run。这样做是为了对命令进行更直观的分组,因为当时的命令数量已经大幅增长。

    您可以在CLI restructured 下阅读更多内容。

    【讨论】:

      【解决方案2】:

      docker run no,我们甚至没有隐藏它,它作为永久别名保留。

      其余的,不会很快。如果我们擅长将所有 > 文档转换为新形式,并传达新的规范做事方式,也许在一两年内。

      所以,它们完全相同,只是格式改变了,请参阅有关此 PR 的讨论:https://github.com/moby/moby/pull/26025

      【讨论】:

        【解决方案3】:

        可能有点晚了,但想从The docker Handbook 分享关于这个问题的更广泛、更清晰的图像:

        以前 [...] 此命令的通用语法如下:

        docker run <image name>
        

        虽然这是一个完全有效的命令,但还有一种更好的方法可以将命令分派给 docker 守护进程。

        1.13 版本之前,Docker 只有前面提到的命令语法。后来,命令行被重组为具有以下语法:

        docker <object> <command> <options>
        

        在这种语法中:

        • &lt;object&gt; 表示您将要操作的 Docker 对象的类型。这可以是 containerimagenetworkvolume 对象。
        • &lt;command&gt; 表示守护进程要执行的任务,即运行命令。
        • &lt;options&gt; 可以是任何可以覆盖命令默认行为的有效参数,例如用于端口映射的 --publish 选项。

        因此,

        docker container run

        1. container 是对象
        2. run 是 Docker 守护进程要执行的命令。

        【讨论】:

          猜你喜欢
          • 2016-04-19
          • 1970-01-01
          • 2023-02-08
          • 2019-12-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多