docker-machine stop命令会杀死我所有的容器

6
我正在使用docker-machine,并使用VirtualBox驱动程序创建了一个虚拟机。我想暂停我的虚拟机,但不想停止运行中的所有docker容器。是否有可能做到这一点?我希望恢复我的虚拟机,并继续运行所有的容器。
3个回答

6
只要在Virtualbox上使用PauseSave State,就可以完成。当您使用VirtualBox上的PauseSave State时,所有的“运行”状态都将存储在磁盘上,然后当您UnpauseRestart时,该“运行”状态将从磁盘中恢复。我自己尝试过,效果很好。

Save State/Pause

这相当于在VMware上使用“挂起”。

5

你可以运行以下命令:

  • 停止所有 Docker 虚拟机: docker-machine stop $(docker-machine ls --format "{{.Name}}")
  • 启动所有 Docker 虚拟机: docker-machine start $(docker-machine ls --format "{{.Name}}")
  • 停止指定 Docker 虚拟机: docker-machine stop "<machine-name>"
  • 启动指定 Docker 虚拟机: docker-machine start "<machine-name>"

个人而言,我更喜欢这里介绍的docker-machine stop <machine-name>选项,而不是使用vmware界面选择的“最正确”答案,因为它感觉你仍然在docker的范围内,而不是使用vmware的方式(如果没有必要),这样可以让你更多地练习和记忆docker-machine、docker和docker-compose命令。谢谢@ahmad - Carlos G.

4

或者从命令行执行:

VBoxManage controlvm YOURDOCKERMACHINENAME savestate

恢复操作如下:
docker-machine start YOURDOCKERMACHINENAME && eval $(docker-machine env YOURDOCKERMACHINENAME)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接