Docker提交为新镜像

容器提交为新镜像
根据容器的更改创建新镜像,即基于原始镜像,将其运行的容器中更改的内容,来生成新的镜像。
语法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
选项:
Name, shorthand
Default
Description
--author , -a
 
Author (e.g., “John Hannibal Smith [email protected]”)
--change , -c
 
Apply Dockerfile instruction to the created image
--message , -m
 
Commit message
--pause , -p
true
Pause container during commit
【示例】
my_redis容器提交为一个新的镜像myredis:1.0.1
docker commit my_redis myredis:1.0.1
运行结果:本地镜像中新增了myredis:1.0.1的镜像
简单快速测试:使用自定义的镜像来运行容器,发现也可正常使用。
镜像的保存
语法:
docker save [OPTIONS] IMAGE [IMAGE...]
选项:
Name, shorthand
Default
Description
--output , -o
 
Write to a file, instead of STDOUT
【示例】
(1)创建一个镜像的备份到磁盘文件:
docker save -o myredis-1.0.1.save.tar myredis:1.0.1
#或 docker save myredis:1.0.1 > myredis-1.0.1.save.tar
(2)镜像打包时使用gzip压缩,可以让备份的文件更小(建议):
docker save myredis:1.0.1 | gzip > myredis-1.0.1.save.tar.gz
其他相关操作参考:
(3)将某个仓库的所有镜像打包:
docker save -o xxx.tar 仓库名字
#如
docker save -o redis.tar redis
提示:不指定标记就是打包所有该仓库的镜像。
(4)对多个镜像打包备份到一个磁盘文件:
docker save -o xxx.tar 镜像1 镜像2...
#如将redis所有标记版本镜像和ngix的1.17.2版本的镜像,都打包到一个文件中。 docker save -o mybak20190726.save.tar redis nginx:1.17.2
 
镜像的加载
 
从tar归档文件或标准输入(stdin)加载镜像,归档文件即使是使用gzip、bzip2或xz压缩后的,也能自动识别和处理。
语法:
docker load [OPTIONS]
选项:
Name, shorthand
Default
Description
--input , -i
 
Read from tar archive file, instead of STDIN
--quiet , -q
 
Suppress the load output
【示例】
先删除已有的镜像,然后通过备份的归档文件加载还原镜像到docker中:
docker load -i myredis-1.0.1.save.tar #或 docker load < myredis-1.0.1.save.tar
 
 
/**
docker的个人容器配置:
//将容器创建本地镜像 docker commit my_redis albersmeng/redis:v1 //tag一下 docker tag 7da38ea24654 albersmeng/redismy:v1 //登录dockerhub docker login //push docker push albersmeng/albersmeng:redis:v1
*/

猜你喜欢

转载自www.cnblogs.com/albersmeng/p/12888843.html
今日推荐