Ubuntu 有没有办法备份我的docker环境
我正在使用Ubuntu14.04,运行一些带有python脚本的docker容器和图像。现在我必须将其重新安装到另一台Ubuntu14.04机器上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
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才能运行图像/容器