在实践中我开始一个容器:
docker run a8asd8f9asdf0
如果是这样的话,那会是什么:
docker start
做?
在手册中说
启动一个或多个已停止的容器
run
运行图像start
开始一个容器。docker run
doc确实提到:
docker run
命令首先在指定的图像上创建一个可写容器层,然后使用指定的命令启动它。也就是说,docker run相当于API
/containers/create
然后/containers/(id)/start
。
你do not run an existing container, you docker exec to it (since docker 1.3)。 你可以restart an exited container。
用例子说明:
假设您的计算机中有游戏(iso)图像。
当您使用run
(将图像作为虚拟驱动器安装)时,将创建一个虚拟驱动器,其中包含虚拟驱动器中的所有游戏内容,并自动启动游戏安装文件。 [运行您的泊坞窗图像 - 创建一个容器然后启动它。]
但当你stop
(类似于docker stop)时,虚拟驱动器仍然存在,但停止所有进程。 [由于容器存在,直到它不被删除]
当你执行start
(类似于docker start)时,从虚拟驱动器开始执行游戏文件。 [启动现有容器]
在此示例中 - 游戏图像是您的Docker镜像,虚拟驱动器是您的容器。
daniele3004的答案已经相当不错了。
对于像我这样不时混淆run
和start
的人来说,这只是一个快速而肮脏的公式:
docker run [...]
docker pull [...]
= + docker start [...]