【docker 总结】第二篇 - Image 镜像
一,前言
上一篇,简单介绍了 docker,本篇介绍 Image 镜像
二,image 镜像
Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器
image 文件可以看作是容器的模板
Docker 根据 image 文件生成容器的实例
同一个 image 文件,可以生成多个同时运行的容器实例
镜像不是一个单一的文件,而是有多层
容器其实就是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写到这个读写层里。如果容器删除了,最上面的读写层也就删除了,改动也就丢失了
我们可以通过 docker history <ID/NAME> 查看镜像中各层内容及大小,每层对应着 Dockerfile 中的一条指令
// 。。。
用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库
这两者的区别在于容器(import)快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像(load)存储文件将保存完整记录,体积也要大
此外,从容器(import)快照文件导入时可以重新指定标签等元数据信息
查看镜像
查找镜像
拉取镜像
docker image pull 是抓取 image 文件的命令
docker.io/hello-world 是 image 文件在仓库里面的位置,其中 docker.io 是 image 的作者,hello-world 是 image 文件的名字
Docker 官方提供的 image 文件,都放在 docker.io 组里面,所以它的是默认组,可以省略 docker image pull hello-world
删除镜像
命令测试
查看本地全部镜像列表
查看镜像的全部版本:
备注:官方镜像可以省略“/”
查看指定镜像的历史:
(镜像怎么来的)
查看指定镜像的详情
ubuntu 有 4 层,每层都是一个镜像
拉取指定镜像
拉群镜像(指定 tag 版本)
查看镜像列表:centos 6 和最新版
删除镜像
可以按照名字 或 ID 删除指定镜像
prune
没有名字,也没有任何容器引用这个镜像,就会被干掉
打 tag
推送镜像
1,需要注册账号,登录
2,push
评论