Docker将容器打包成镜像并迁移到另一台服务器运行

Posted by dm on July 23, 2021

1.将容器打包成镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

options选项:-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

e.g. docker commit 9208a622c151 mysql:1.0 完成后,使用docker images可以看见该镜像

2.打包镜像

docker save [OPTIONS] IMAGE [IMAGE...]

options选项:
-o :表示输出到文件,my_mysql.tar为目标文件,mysql:1.0是源镜像名(name:tag)

e.g.

docker save -o my_mysql.tar mysql:1.0

这里的mysql:1.0是你刚打包的镜像,完成后,会在当前目录生成一个tar文件。

3.数据传递

根据scp命令行执行

4.加载镜像

docker load [options]

options选项:
-i :表示从文件输入。会成功导入镜像及相关元数据,包括tag信息

e.g.

docker load -i my_mysql.tar

5.运行镜像成容器

我们通过docker images命令查看镜像是否生成成功,生成成功后就可以运行成容器了。

docker run -d -p 3306:3306 --restart=always --name mysql -e MYSQL_ROOT_PASSWORD=xxxx mysql