docker mysql 迁移_Docker跨服务器迁移

Docker跨服务器迁移

Docker的备份方式有export和save两种。

export是当前的状态,针对的是容器,docker save 是针对镜像images。

一、镜像的迁移—save

1.镜像保存

登陆到已经部署好镜像的服务器上面,执行以下命令进行导出

[root@snowed files_backup]# docker save 97fd >

docker-image-mysql-5.6.40.tar

2.将镜像导入

将刚才导出的镜像上传到你要导入的那台服务器上

[root@localhost files_backup]# scp

172.16.10.127:/root/files_backup/docker-image-mysql-5.6.40.tar

/root/files_backup/

执行以下命令镜像导入

[root@localhost files_backup]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

php5ngx v1 f609d265f7e9 8 days ago 46.3MB

nginx latest 649dcb69b782 9 days

ago 109MB

php 5.6.36-fpm-alpine3.7 d8b5fb7e3f13 2 weeks ago 57.5MB

php 7.1-fpm-alpine3.7 c8eb659d5df6 2 weeks ago 71.9MB

busybox latest 8c811b4aec35 7 weeks

ago 1.15MB

alpine 3.7 3fd9065eaf02 6 months

ago 4.15MB

alpine latest 3fd9065eaf02 6 months

ago 4.15MB

[root@localhost files_backup]# docker load <

docker-image-mysql-5.6.40.tar

a04c00996045: Loading layer

[==================================================>] 338.4kB/338.4kB

d8db74df2b64: Loading layer

[==================================================>] 10.43MB/10.43MB

e4304001211c: Loading layer

[==================================================>] 4.472MB/4.472MB

4734bc44af33: Loading layer

[==================================================>] 1.536kB/1.536kB

caaf64b32ef7: Loading layer

[==================================================>] 41.23MB/41.23MB

5f9f1e181653: Loading layer

[==================================================>] 28.16kB/28.16kB

3b23660c2700: Loading layer

[==================================================>] 3.584kB/3.584kB

c89a57e53080: Loading layer

[==================================================>] 146.1MB/146.1MB

05615e115efe: Loading layer

[==================================================>] 9.728kB/9.728kB

cda13ff08765: Loading layer

[==================================================>] 1.536kB/1.536kB

Loaded image ID:

sha256:97fdbdd65c6aa3df941925dad239bce330bfcaa9af753239e3807ce1bb0ab3cb

[root@localhost files_backup]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

php5ngx v1 f609d265f7e9 8 days ago 46.3MB

nginx latest 649dcb69b782 9 days

ago 109MB

php 5.6.36-fpm-alpine3.7 d8b5fb7e3f13 2 weeks ago 57.5MB

php 7.1-fpm-alpine3.7 c8eb659d5df6 2 weeks ago 71.9MB

97fdbdd65c6a 2 weeks ago 256MB

busybox latest 8c811b4aec35 7 weeks

ago 1.15MB

alpine 3.7 3fd9065eaf02 6 months

ago 4.15MB

alpine latest 3fd9065eaf02 6 months

ago 4.15MB

[root@localhost files_backup]# docker tag 97fd

mysql:5.6.40

[root@localhost files_backup]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

php5ngx v1 f609d265f7e9 8 days ago 46.3MB

nginx latest 649dcb69b782 9 days

ago 109MB

php 5.6.36-fpm-alpine3.7 d8b5fb7e3f13 2 weeks ago 57.5MB

php 7.1-fpm-alpine3.7 c8eb659d5df6 2 weeks ago 71.9MB

mysql 5.6.40 97fdbdd65c6a 2 weeks

ago 256MB

busybox latest 8c811b4aec35 7 weeks

ago 1.15MB

alpine 3.7 3fd9065eaf02 6 months

ago 4.15MB

alpine latest 3fd9065eaf02 6 months

ago 4.15MB

二、容器的迁移—export

1.导出容器

[root@snowed files_backup]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

dc7d1df9f846 centos:6.9 "bash" 4 hours ago Up 4 hours 0.0.0.0:1812-1813->1812-1813/udp zealous_bartik

b240be1a357e docker.io/centos:6.9 "bash" 2 days ago Up 2 days 0.0.0.0:390->389/tcp ldap-slave

e45ee6343056 centos:6.9 "bash" 4 days ago Up 3 days 0.0.0.0:389->389/tcp agitated_newton

9b130263e0d8 mysql:5.6.40 "docker-entrypoint..." 10 days ago Up 10

days 0.0.0.0:3306->3306/tcp mysql-5.6.40

[root@snowed files_backup]# docker export b240be1a357e >

docker-container-ldap-slave.tar

2.导入到新的服务器上

同样需要将刚才的导出的容器备份上传到目标服务器上,执行下面的命令

[root@localhost files_backup]# scp

172.16.10.127:/root/files_backup/docker-container-ldap-slave.tar

/root/files_backup/

[root@localhost files_backup]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

php5ngx v1 f609d265f7e9 8 days ago 46.3MB

nginx latest 649dcb69b782 9 days

ago 109MB

php 5.6.36-fpm-alpine3.7 d8b5fb7e3f13 2 weeks ago 57.5MB

php 7.1-fpm-alpine3.7 c8eb659d5df6 2 weeks ago 71.9MB

mysql 5.6.40 97fdbdd65c6a 2 weeks

ago 256MB

busybox latest 8c811b4aec35 7 weeks

ago 1.15MB

alpine 3.7 3fd9065eaf02 6 months

ago 4.15MB

alpine latest 3fd9065eaf02 6 months

ago 4.15MB

[root@localhost files_backup]# cat

docker-container-ldap-slave.tar | docker import - centos:6.9

sha256:f969ebac1e7112b095fb2a5643d7280c3d8a4bd237f3eb25dfa064eb1de5aa16

[root@localhost files_backup]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

centos 6.9 f969ebac1e71 About a minute

ago 620MB

php5ngx v1 f609d265f7e9 8 days ago 46.3MB

nginx latest 649dcb69b782 9 days

ago 109MB

php 5.6.36-fpm-alpine3.7 d8b5fb7e3f13 2 weeks ago 57.5MB

php 7.1-fpm-alpine3.7 c8eb659d5df6 2 weeks ago 71.9MB

mysql 5.6.40 97fdbdd65c6a 2 weeks

ago 256MB

busybox latest 8c811b4aec35 7 weeks

ago 1.15MB

alpine 3.7 3fd9065eaf02 6 months

ago 4.15MB

alpine latest 3fd9065eaf02 6 months

ago 4.15MB

注意:运行导入的镜像的时候必须带command,否则启动报如下错误

[root@localhost files_backup]# docker run -itd -p 389:389

f969

docker: Error response from daemon: No command

specified.

See 'docker run --help'.

[root@localhost files_backup]# docker run -itd -p 389:389 f969

bash

!!!The end!!!

你可能感兴趣的:(docker,mysql,迁移)