Ubuntu 有没有办法备份我的docker环境

Ubuntu 有没有办法备份我的docker环境,ubuntu,docker,ubuntu-14.04,docker-machine,Ubuntu,Docker,Ubuntu 14.04,Docker Machine,我正在使用Ubuntu14.04,运行一些带有python脚本的docker容器和图像。现在我必须将其重新安装到另一台Ubuntu14.04机器上 Ex: that machine is not even having docker installed 是否有办法将完整的docker引擎从我配置的机器备份到另一台机器至少,您必须在新的Ubuntu机器上安装docker(如果可能,安装相同的版本) Ex: that machine is not even having docker instal

我正在使用Ubuntu14.04,运行一些带有python脚本的docker容器和图像。现在我必须将其重新安装到另一台Ubuntu14.04机器上

Ex: that machine is not even having docker installed

是否有办法将完整的docker引擎从我配置的机器备份到另一台机器

至少,您必须在新的Ubuntu机器上安装docker(如果可能,安装相同的版本)

Ex: that machine is not even having docker installed
在原始机器上,您可以优雅地关闭容器。备份
/var/lib/docker
(默认情况下),然后在新机器上还原


我使用AWS EC2 spot实例执行此操作。不保证这是否适用于不同版本的Docker。

至少,您必须在新的Ubuntu机器上安装Docker(如果可能,安装相同版本)

Ex: that machine is not even having docker installed
在原始机器上,您可以优雅地关闭容器。备份
/var/lib/docker
(默认情况下),然后在新机器上还原


我使用AWS EC2 spot实例执行此操作。不保证这是否适用于不同版本的Docker。

要备份的位置因您运行容器的方式和恢复到的环境而异。要备份的某些目录包括:

  • /var/lib/docker:这包括所有图像、容器、插件和swarm设置
  • /etc/docker:这包括daemon.json中的任何定制,通常用于TLS证书
  • /etc/systemd/system/docker*:您可能已经在此位置自定义了启动脚本
这不包括已装载到主机文件系统上不同位置的任何特定于容器的主机卷。您可以通过以下方式查找这些目录:

$ docker ps -q | xargs docker inspect -f '{{.Name}}:
{{ range .HostConfig.Binds }}{{.}}
{{end}}
'
如果您正在以某种方式更改目标服务器,例如更改运行不同版本linux的内核,则可能会更改存储驱动程序,这将导致无法访问旧映像和容器。在这种情况下,要复制图像,我建议使用注册表服务器将图像也推送到新主机上。注册表服务器可以很容易地在容器中运行,是在主机之间移动图像的首选方式。如果由于某种原因无法使用注册表服务器,可以在旧主机上使用
docker save
,在新主机上使用
docker load
,将图像保存到tar文件并导入


通过平台更改,在复制映像后,您仍然需要复制
/var/lib/docker/volumes
和任何其他主机位置中的卷。然后,您需要复制容器配置,最好是使用docker-compose.yml,以便在新主机上重新启动容器。

要备份的位置因您运行容器的方式和恢复到的环境而异。要备份的某些目录包括:

  • /var/lib/docker:这包括所有图像、容器、插件和swarm设置
  • /etc/docker:这包括daemon.json中的任何定制,通常用于TLS证书
  • /etc/systemd/system/docker*:您可能已经在此位置自定义了启动脚本
这不包括已装载到主机文件系统上不同位置的任何特定于容器的主机卷。您可以通过以下方式查找这些目录:

$ docker ps -q | xargs docker inspect -f '{{.Name}}:
{{ range .HostConfig.Binds }}{{.}}
{{end}}
'
如果您正在以某种方式更改目标服务器,例如更改运行不同版本linux的内核,则可能会更改存储驱动程序,这将导致无法访问旧映像和容器。在这种情况下,要复制图像,我建议使用注册表服务器将图像也推送到新主机上。注册表服务器可以很容易地在容器中运行,是在主机之间移动图像的首选方式。如果由于某种原因无法使用注册表服务器,可以在旧主机上使用
docker save
,在新主机上使用
docker load
,将图像保存到tar文件并导入


通过平台更改,在复制映像后,您仍然需要复制
/var/lib/docker/volumes
和任何其他主机位置中的卷。然后,您需要复制容器配置,最好是使用docker-compose.yml,以便在新主机上重新启动容器。

docker本身就是一个容器,为什么要备份。您必须安装docker才能运行映像/containerdocker本身就是一个容器,为什么要备份。必须安装docker才能运行图像/容器