容器提交为新镜像
根据容器的更改创建新镜像,即基于原始镜像,将其运行的容器中更改的内容,来生成新的镜像。
语法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
选项:
【示例】
将my_redis容器提交为一个新的镜像myredis:1.0.1:
docker commit my_redis myredis:1.0.1
运行结果:本地镜像中新增了myredis:1.0.1的镜像
简单快速测试:使用自定义的镜像来运行容器,发现也可正常使用。
镜像的保存
语法:
docker save [OPTIONS] IMAGE [IMAGE...]
选项:
【示例】
(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]
选项:
【示例】
先删除已有的镜像,然后通过备份的归档文件加载还原镜像到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
*/