文章目录
Docker 管理镜像
一、制作镜像
容器内的服务不能以后台方式启动
重新修改容器的名字
docker rename e63dca6e4930 docker # rename 唯一标识 新名称
1.给目前容器制作镜像
目前的容器镜像名为 docker
新文件名为 centos-neko.tar
docker export -o centos-neko.tar docker
2.尝试停止并删除容器
docker stop docker
docker rm docker
删除库内镜像
docker rmi centos-1
3.恢复
要想恢复原来被删除的容器,需要导入 tar 文件为一个镜像到本地仓库
docker import centos-neko.tar neko
验证
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
neko latest 3bf194b11664 47 seconds ago 209MB
4.运行
运行这个新的镜像为一个新的容器
docker run -itd neko bash
5.验证
进入容器验证,原来创建的文件是否还存在
docker exec -it 448 bash
二、保存本地镜像到本地文件
1.创建
docker export
打包 container
文件系统
docker export -o thecontainer.tar container_name
2.导入加载镜像
docker load -i redis.tar
3.用 docker import 载入
可以为新镜像指定name和tag
docker import thecontainer.tar newimagename:tag
4.docker import 和 docker load 的区别
注意:
docker
import
和dockerload
的区别在于:load 是用来导入镜像存储文件到本地镜像库的,镜像存储文件是用save从本地镜像库保存到本地硬盘的镜像备份文件,一般容量相对容器的快照文件较大,保存的是完整的记录,导入时,不能重新指定标签(tag)等元数据信息;
而 import 导入的是容器的快照文件,容器的快照文件体积较小,它丢弃了历史记录和元数据信息,仅仅保存容器当时的快照状态。
看了另一位博主的文章 docker save load export import区别详解
还有 一位 运维开发大佬的文章 docker import 和docker load的区别
三、创建自己的镜像 docker commit
1.通过容器创建
1.启动容器,并安装软件
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
448f7f33b79d neko "bash" 3 hours ago Up 3 hours unruffled_babbage
[root@localhost ~]# docker run -it neko bash
[root@892935