备份泊坞窗口RUNNING容器

问题描述 投票:1回答:3

我运行一些Docker Windows容器。我正在寻找一些方法来备份这些容器,而它们正在运行。但是,当我尝试使用标准方法备份容器时,我遇到了这样的错误:

PS C:\Users\roza> docker commit 908d6334d554
Error response from daemon: windows does not support commit of a running container
PS C:\Users\roza> docker export 908d6334d554 -o tar.tar
Error response from daemon: the daemon on this platform does not support export of a container

为什么我不能提交/导出运行Windows容器?

是否有一些(可能是非标准且非常棘手,可能使用外部工具)方法来创建此类容器的备份?

docker windows-server-2016
3个回答
1
投票

这可能不是您想要听到的但是......在容器世界中,不应该要求运行容器的备份。如果在容器存在时丢失了某些东西,那么应该更好地分割图像。在容器被杀死之后必须存活的任何东西(日志,资产甚至临时文件夹)都应该映射为卷。这将使您更好地控制备份。


1
投票

提交Windows容器还涉及首先停止它,然后提交。另一个限制是基于VSS的应用程序不会与容器互操作。正如前面的回答所建议的那样,容器的标准方法是简单地从图像中启动一个新容器。


1
投票

Microsoft的Windows图像(所有Windows映像)都是许可的,我相信部分许可意味着您无法导出图像。缺少暂停/取消暂停是因为底层实现。 Linux使用不在Windows上的cgroup暂停。只有Windows HyperV容器支持暂停,因为它们使用HyperV命令来实现它。


也就是说,备份Docker中的任何内容都需要备份3件事:

  • 图像注册服务器
  • 容器的配置,最好是docker-compose.yml文件
  • 体积数据

你不是自己备份容器,它们是短暂的,像牛一样对待。卷数据将是文件系统目录,您将在此目录中使用标准备份工具。如果在容器运行时无法进行备份,请先停止容器,然后在备份完成后重新启动容器。

© www.soinside.com 2019 - 2024. All rights reserved.