Docker run vs create

时间:2016-06-10 09:41:45

标签: docker

docker rundocker create命令有什么区别?

我通常使用run但有时在文档中我看到create

Docker' --help告诉

create    Create a new container
run       Run a command in a new container

当我们需要将命令传递给新容器时,是否意味着使用了run?那么create的目标是什么?

7 个答案:

答案 0 :(得分:81)

来自docker documentation

  

docker create命令在其上创建一个可写容器层   指定的映像并准备运行指定的命令。该   然后将容器ID打印到STDOUT。这类似于docker run   -d ,但容器永远不会启动。然后,您可以使用docker start命令随时启动容器。

     

非常有用您想要设置容器配置提前   的时间,以便在您需要时随时启动。最初的   创建新容器的状态。

答案 1 :(得分:71)

从技术上讲,docker run = docker create + docker start

答案 2 :(得分:18)

答案 3 :(得分:4)

我是码头工人的新手,刚开始玩它;

我认为 docker run 主要执行以下操作:(按...的顺序) docker create docker start ,< strong> docker attach ,因为在执行'run'命令后它会立即附加到活动shell。

答案 4 :(得分:2)

创建容器:

enter image description here

启动容器:

enter image description here

使用单个命令创建和启动:

enter image description here

现在要了解,我们必须深入了解创建和启动。

创建容器的过程是从镜像中获取文件系统,并准备好在新容器中使用。当我们创建容器时,我们只是准备或设置用于创建容器以实际启动容器的文件系统快照。 enter image description here

所以创建容器是关于启动文件系统的,它是关于实际执行启动命令的。 为了启动容器,我们实际上执行了可能启动进程的启动命令。

让我们在终端中看到它: 当我运行命令“sudo docker create hello-world”时,它会打印以下输出。 enter image description here

在输出中,我们看到打印出的字符。这是刚刚创建的容器的 ID,现在我可以通过运行 Docker start 在这个容器内实际执行 hello world 命令。 enter image description here

那么这里发生了什么,首先我们通过准备好文件系统来支持容器。 之后,我们实际上使用 Docker start 执行了主要的启动命令。

docker start 命令中的

-a 用于观察容器的输出并将其打印到终端。

因此 Docker run 和 docker start 之间的区别非常小,默认情况下,Docker run 将显示所有日志或来自容器的所有信息。默认情况下 Docker start 是相反的 Docker start 不会向您显示来自终端的信息。

现在您知道什么时候需要使用运行/创建/启动

答案 5 :(得分:1)

其他答案已经涵盖了这一点,但我认为我会展示相同的shell命令行,因为它非常清楚:

$ docker run myimage

相同
$ docker start -a $(docker create myimage)

此处,docker create用于从命名图像创建容器并输出创建的容器ID docker start用于启动具有该ID的容器。 -a选项会导致终端附加,以便容器在前台运行,这是docker run的默认行为。

已创建但从未启动的容器将具有Created状态;这可以通过docker container ls -a看到。

答案 6 :(得分:-2)

Docker运行基本上是用于在容器中运行命令。

docker run -it <Container Name> /bin/bash

以上是用于创建bash终端。并让我们在容器中使用bash命令。

Docker create 是从Docker Image创建容器。

docker create -d /var/lib:/var/lib --name docker-ubuntu ubuntu

以上是为docker创建一个名为&#34; docker-ubuntu&#34;的容器。来自图像&#34; ubuntu&#34;