4.Docker镜像介绍

分类栏目:Docker

资讯

Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会从镜像仓库下载 默认是Docker Hub公共注册服务器中的仓库.
 
列出镜像列表:
docker images 可以列出本地主机上的镜像.
  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小
同一个仓库源可以有多个TAG,代表这个仓库源的不同版本.
 
获取一个新的镜像:
docker pull 例如: docker pull ubuntu:13.10
 
查找镜像:
docker search 例如: docker search httpd
 
删除镜像:
docker rmi 例如: docker rmi ubuntu:13.10
 
创建镜像:
当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过两种方式对镜像进行更改.
1.从已经创建的容器中更新镜像,并且提交这个镜像
2.使用DockerFile指令来创建一个新的镜像
 
更新镜像:
docker commit 例如: docker commit -m="has update" -a="hulibo" e218edb10161 ubuntu:v2
-m:提交的描述信息
-a:指定镜像作者
e218edb10161:容器ID
ubuntu:v2:要创建的目标镜像名
 
构建镜像:
我们使用docker build,从零开始创建一个新的镜像.为此,我们需要创建一个Dockerfile文件,其中包含一组指令来告诉Docker如何构建我们的镜像.
 
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须大写的.
第一条FROM,指定使用哪个镜像源
RUN 指令告诉Docker在镜像内执行命令,安装了什么
然后我们使用Dockerfile文件,通过docker build命令来构建一个镜像.
-t:指定要创建的目标镜像名
.:Dockerfile文件所在目录,可以指定Dockerfile的绝对路径
 
设置镜像标签:
使用docker tag命令,为镜像添加一个新的标签
docker tag 860c279d2fec centos:dev
 860c279d2fec为镜像ID,centos为镜像源名,dev为新的标签名
 
导出镜像:
docker save命令可以将镜像导出到本地文件 例如:
docker save -o centos.6.7.tar centos:6.7
 
载入镜像:
docker load命令可以从导出的本地文件中再导入到本地镜像库中. 
docker load --input fedora.tar
用户既可以使用docker load来导入镜像存储文件到本地镜像库,也可以使用docker import 来导入一个容器快照到本地镜像库.这两者的区别在于容器快照文件将丢弃所有的历史纪录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大.此外,从容器快照文件导入时可以重新指定标签等元数据信息.