Docker⼊门系列--Docker镜像管理(三)
Docker⼊门系列–Docker镜像管理(三)
⼀、DOcker镜像管理
1、镜像特性
[1] 镜像是启动容器的关键,容器是基于镜像启动的,没有镜像我们将⽆法启动容器。每个进项都由唯⼀的标识Image ID,默认128位,可以使⽤前16位缩写形式,也可以使⽤镜像名称与版本号两部分组合唯⼀标⽰,如果省略版本号,默认使⽤最新版本(latest)
[2] 镜像的分层“:Docker的镜像通过联合⽂件系统(union filesystem)将各层⽂件系统叠加在⼀起:
 [1] boofs:⽤于系统引导的⽂件系统,把偶偶bootloader和kernel,容器启动完成后会被卸载以节省内存资源
docker打包镜像
 [2] rootfs:位于boofs之上,表现为Docker容器的根⽂件系统
  传统模式中,系统启动,内挂载rootfs时会⾸先将其挂载为“只读”模式,完整性⾃检完成后将其挂载为读写模式
  Docker中,roofts由内核挂载为 “只读”模式⽽后通过UFS技术挂载⼀个“可写”层
2、 镜像管理
[1] 镜像的查看与搜索
[root@docker1~]# docker images                  #查看本地镜像
[root@docker1~]#docker search busybox        #搜索相关镜像
[2] 操作镜像
下载镜像(从镜像仓库中)
[root@docker1~]#docker help pull        #查看下载帮助信息
[root@docker1~]#docker pull docker.io/busybox        #下载busybox镜像
上传镜像(镜像上传到仓库)
[root@docker1~]#docker help pull        #查看上传帮助信息
[root@docker1~]#docker pull docker.io/busybox        #上传busybox镜像
导出镜像
[root@docker~]#docker save docker.io/busybos:latest -o busybox.tar
导⼊镜像
[root@docker2~]#docker load -i busybox.tar        #通过tar包⽂件导⼊
[3] 启动镜像
启动镜像将⽣成⼀个容器
[root@docker1~]#docker run -it docker.io/centos:latest /bin/bash
docker run :容器运⾏命令
-i:表⽰交互
-t:在另⼀个终端打开
docker.io/centos:latest:docker镜像名称
/bin.bash:解释器
[root@Docker1~]#docker ps        #查看正在运⾏容器
3、⾃定义镜像
docker commit
* 使⽤镜像启动容器,在该容器基础上修改
* 另存为⼀个新镜像
[root@docker01~]#docker run -it docker.io/centos
(修改数据,安装软件,修改配置⽂件等)
[root@docker01~]#docker ps -qa        #查看镜像ID
[root@docker01~]#docker commit 8d214e73a5 docker.io/myos:latest
4、镜像管理命令
命令列表
docker images          #查看镜像列表{查询结果 : REPOSITORY(镜像名称)    TAG(镜像标签)    IMAGE ID(镜像ID)    CREATED(镜像创建时间)    SIZE(镜像⼤⼩)}
docker history         #查看镜像制作历史
docker inspect        #查看镜像底层信息
docker pull            #下载镜像
docker push            #上传镜像
docker rmi              #删除本地镜像
docker save            #镜像另存为tar包{例:docker save docker.io/busybox:latest -o busybos.tar}
docker search          #搜索镜像
docker tag              #修改镜像名称和标签{例:docker tag  docker.io/busybox:latest abc:latest}    将busybox镜像名称改为abc(相当与硬链接)
docker cp              # 将容器中的数据拷贝到宿主机(docker cp b8e7c2c71f8d:/etc/dnf  /opt/)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。