如何重新启动停止的 docker 容器

新手上路,请多包涵

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

 $ docker run -d myimage /bin/bash -c "mycommand"

"mycommand" 完成时,容器被停止(我想它是停止的),但它没有被删除,因为我可以用这个命令看到它:

 $ docker ps -a

有什么办法可以使 restart 这个容器具有相同的参数并保留 mycommand 生成的数据吗?

原文由 Bob5421 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 729
2 个回答

是的,当初始命令完成执行时,容器就会停止。

您可以使用以下方法启动已停止的容器:

docker start container_name

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

docker start -ai container_name

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

原文由 lmtx 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

 $ docker start container_name

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

 $ docker exec -it container_name bash -c "mycommand"

只要存在,您在容器中创建的内容就会保留在容器中。如果您想在容器被移除的情况下保留数据,您可以使用

原文由 lmiguelvargasf 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题