在运行和启动Docker容器之间的区别

14 浏览
0 Comments

在运行和启动Docker容器之间的区别

实践中,我要启动一个容器,我要做:

docker run a8asd8f9asdf0

如果是这样,那么下面这一行做了什么:

docker start

在手册中写道:

启动一个或多个已停止的容器

admin 更改状态以发布 2023年5月21日
0
0 Comments
  • run 命令运行一个镜像
  • start 命令启动一个容器。

docker run 命令文档 中提到:

docker run 命令首先 在指定的镜像上创建一个可写的容器层,然后使用指定的命令 启动 它。

也就是说,docker run 的等效 API 是 /containers/create 然后 /containers/(id)/start

你不应该运行一个已经存在的容器,而应该使用 docker exec 命令进入已经存在的容器 (自 docker 1.3 版本起)。
你可以 重新启动已经停止的容器

0
0 Comments

这是一个非常重要的问题,答案非常简单,但却是基础性的:

  1. 运行:创建一个新的镜像容器并执行。您可以创建N个相同镜像的克隆体。命令如下:
    docker run IMAGE_ID 而不是 docker run CONTAINER_ID

enter image description here

  1. 启动:启动之前停止的容器。例如,如果您使用命令 docker stop CONTAINER_ID 停止了数据库,那么您可以使用命令 docker start CONTAINER_ID 重新启动相同的容器,数据和设置将保持不变。

enter image description here

0