如何重启停止的docker容器

Bob*_*421 60 docker

我使用以下命令从映像启动docker容器:

$ docker run -d myimage /bin/bash -c "mycommand"
Run Code Online (Sandbox Code Playgroud)

"mycommand"完成后,容器停止(我想这已停止),但它并没有被删除,因为我可以用这个命令来查看它:

$ docker ps -a
Run Code Online (Sandbox Code Playgroud)

有没有办法让restart这个容器具有相同的参数并保持数据生成mycommand

lmt*_*mtx 75

是的,当初始命令完成其执行时,容器停止.

您可以使用以下命令启动停止的容器

docker start container_name

如果要查看命令的输出,则应添加-ai选项:

docker start -ai container_name

PS.有一个,docker restart container_name但用于重新启动正在运行的容器 - 我相信这不是你的情况.


小智 6

它应该是

$ docker restart container_id # OR
$ docker restart container_name
Run Code Online (Sandbox Code Playgroud)


lmi*_*asf 5

首先,$ docker ps -a显示所有容器(正在运行的容器和已停止的容器),因此这就是您未看到列出的已停止容器的原因。

其次,您可以轻松启动已停止的容器运行:

$ docker start container_name
Run Code Online (Sandbox Code Playgroud)

启动容器后,可以通过以下方式运行命令:

$ docker exec -it container_name bash -c "mycommand"
Run Code Online (Sandbox Code Playgroud)

您在容器中创建的内容将一直存在于容器中。如果即使删除容器也要保留数据,则可以使用