镜像概念:
通俗解释:docker的镜像类似虚拟机的模板,但是更轻盈
专业解释:镜像(image)就是一堆只读层(read-only layer)的统一视角
从上图我们看到了多个只读层,它们重叠在一起,除了最下面的一层,其它层都会有一个指针指向了下一层。这些层是Docker内部的实现细节,并且能够在主机(运行Docker的机器)的文件系统上访问到。
统一文件系统(AUFS)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在了一个文件系统
镜像操作-获取:
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会从镜像仓库下载(默认是Dokcer Hub公共注册服务器中的仓库)
docker pull 从仓库获取所需镜像
docker pull centos:6.6 该命令实际上相当于 docker pull registry hub.docker.com/centos:6.6
有时候官网下载太慢,选择其他仓库 docker pull daocloud.io/centos:6.6
镜像操作-显示所有镜像:
镜像操作-搜寻镜像:
docker search 关键字
镜像操作-创建镜像:
1.使用docker commit命令:
可以想象是往版本控制系统里提交变更;首先创建一个容器,在容器里做修改,就像是修改代码一样,最后将修改提交成为一个新的镜像
①开启一个容器:docker run -it 仓库:版本号 /bin/bash
②我们发现这个centos容器没有tar命令 yum安装tar命令
③退出:exit
④显示出所有容器docker ps -a
⑤docker commit 容器id 容器名字:版本号(1.0)
⑥docker images 我们就发现了我们刚才新建的centos-tar 容器
⑦重复第一步操作,centos-tar容器里面就有了tar命令
2.使用docker build命令和Dockerfile文件
篇幅过长!下篇笔记详细描述
镜像操作-镜像信息的查看:
docker inspect 镜像id(创建时间,操作系统,作者,来源等等信息)
镜像操作-删除镜像:
docker rmi --force 镜像id (--force强制删除)
网友评论