Docker备份和迁移

docker备份和迁移目录.png

首先:第二台机器上也要装有docker,版本能够不一致。html

1、Docker镜像迁移

参考:blog.csdn.net/sunbocong/a… 实验环境 操做系统:CentOS Linux release 7.3.1611 (Core) docker版本: 17.11.0-ce 镜像备份nginx

1.查看现有docker镜像:

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
eg_postgresql       latest              431a93e7033e        weeks ago         318MB
centos              latest              3fa822599e10        weeks ago         204MB
hello-world         latest              f2a91732366c        weeks ago         1.85kB

复制代码

2.将镜像hello-world保存为归档文件:

并压缩生成压缩包hello-world-lastest.tar.gzweb

[root@localhost ~]# docker save hello-world |gzip >hello-world-lastest.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg  Documents  hello-world-lastest.tar.gz  Music            Pictures  Templates
Desktop          Downloads  initial-setup-ks.cfg        original-ks.cfg  Public    Videos

复制代码

3.加载镜像

这里我使用的是一台机器,因此先删除hello-world镜像,再使用加载命令恢复: 删除镜像:sql

[root@localhost ~]# docker rmi f2a91732366c --force
Untagged: hello-world:latest
Untagged: hello-world@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Deleted: sha256:f2a91732366c0332ccd7afd2a5c4ff2b9af81f549370f7a19acd460f87686bc7
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
eg_postgresql       latest              431a93e7033e        weeks ago         318MB
centos              latest              3fa822599e10        weeks ago         204MB

复制代码

4.加载镜像的归档文件包:

[root@localhost ~]# docker load -i hello-world-lastest.tar.gz 
Loaded image: hello-world:latest

复制代码

5.检查机器中的镜像:

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
eg_postgresql       latest              431a93e7033e        weeks ago         318MB
centos              latest              3fa822599e10        weeks ago         204MB
hello-world         latest              f2a91732366c        weeks ago         1.85kB

复制代码

发现hello-world镜像已经成功恢复.docker

2、容器保存为镜像

参考:blog.csdn.net/u011142756/…centos

1.经过如下命令将容器保存为镜像

docker commit nginx mynginx

复制代码

nginx是容器名称 mynginx是新的镜像名称 此镜像的内容就是你当前容器的内容,接下来你能够用此镜像再次运行新的容器bash

2.镜像备份

- docker  save -o mynginx.tar mynginx
复制代码

o 输出到的文件 执行后,运行ls命令便可看到打成的tar包ide

3.镜像恢复与迁移

首先咱们先删除掉mynginx镜像 而后执行此命令进行恢复post

docker load -i mynginx.tar

复制代码

-i 输入的文件 执行后再次查看镜像,能够看到镜像已经恢复ui

4.运行容器

首先,建立目录 nginx, 用于存放后面的相关东西

[root@localhost ~]# mkdir -p ~/dockerdata/nginx/html ~/dockerdata/nginx/logs ~/dockerdata/nginx/conf
复制代码

运行容器

[root@localhost ~]# run -d -p 8081:80 --name container-nginx-web -v ~/dockerdata/nginx/html:/usr/share/nginx/html -v ~/dockerdata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/dockerdata/nginx/logs:/var/log/nginx mynginx
复制代码
相关文章
相关标签/搜索