从零开始的Docker [ 2 ] --- Docker容器管理及镜像制作,import 和 load

本文详细介绍了Docker容器的管理,包括如何制作镜像、保存和导入镜像,以及使用docker commit创建自定义镜像。此外,文章还讲解了Dockerfile的使用,FROM、LABEL、ENV和RUN指令的应用。
摘要由CSDN通过智能技术生成

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 和docker load 的区别在于:

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值