使用Docker镜像:

  • 获取镜像
  • 查看镜像信息
  • 搜寻镜像
  • 删除镜像
  • 创建镜像
  • 存储和载入镜像
  • 上传镜像

一、获取Docker镜像

  1. $ docker pull NAME[:TAG]
  2. 其中,NAME是镜像仓库的名称,TAG是镜像的标签。如果不显示指定TAG,则
  3. 默认会选择latest标签,这回下载仓库中最新版本的镜像。

二、查看镜像信息

1、列出镜像

$ docker images

-a :列出所有镜像文件

在列出的信息中,包含以下几个字段:
来自于哪个仓库
镜像的标签信息
镜像的ID
创建时间
镜像大小

2、使用tag命令添加镜像标签

为了方便在后续工作中使用特定镜像,还可以使用docker tag命令来为本地镜像添加任意新的标签。例如:

$ docker tag ubuntu:latest myubuntu:latest

3、使用inspect命令查看详细信息

使用docker inspect命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等:

$ docker inspect ubuntu:14.04
或者 docker inspect id

如果只需要其中某项内容的话:
$ docker inspect -f {{".Architecture"}}

4、使用history命令查看镜像历史

$ docker history ubuntu:14.04

三、搜寻镜像

使用docker search 命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像。用法:

$ docker search TERM
参数:
--automated=true|false:仅显示自动创建的镜像,默认为否
--no-trunc=true|false:输出信息不截断显示,默认为否
-s,--stars=X:指定仅显示评价为星级以上的镜像,默认为0,即输出所有镜像

四、删除镜像

1、使用标签删除镜像

命令格式:docker rmi IMAGE [IMAGE…]:其中IMAGE可以为标签或ID

$ docker rmi ubuntu:latest

注意:当有该镜像创建的容器存在时,镜像文件默认是无法被删除的;如果要强行删除镜像,可以使用 -f 参数

五、创建镜像

创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建

1、基于已有镜像的容器创建

该方法主要是使用docker commit命令。命令格式为:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]],
主要选项包括:

-a, --author="":作者信息;
-c, --changer=[]:提交的时候执行Dockerfile指定,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等;
-m, --message="":提交信息;
-p, --pause=true:提交时暂停容器运行;

示例如下:

启动一个镜像,并在其中进行修改操作,创建一个test文件,之后推出
$ docker run -it ubuntu14.04 /bin/bash
root@a925cbob3f0:/# touch test
root@a925cbob3f0:/# exit

此时该容器与原来的ubuntu:14.04镜像相比,已经发生了改变,可以使用docker commit命令来提交为一个新的镜像,提交时可以使用ID或者名称来指定容器:
$ docker commit -m "Adder a new file" -a "Docker Newbee" a925cbob3f0 test:0.1
返回新创建的镜像ID信息

查看本地镜像列表,发现新创建的镜像已经存在了。

2、基于本地模板导入

命令格式:
docker import [OPTIONS] file|URL|-[REPOSITORY[:TAG]]

六、存出和载入镜像

用户可以使用docker save 和 docker load 命令来存出和载入镜像。

1、存出镜像

如果要导出镜像到本地文件,可以使用docker save命令:

例如导出本地的ubuntu:14.04镜像为文件ubuntu_14.04.tar,如下:
$ docker save -o ubuntu_14.04.tar ubuntu:14.04

这样就可以复制ubuntu_14.04.tar文件将该镜像分享给他人

2、载入镜像

使用docker load将导出的tar文件再导入到本地镜像库,如下:

$ docker load --input ubuntu_14.04.tar
或
$ docker load < ubuntu_14.04.tar

七、上传镜像

使用docker push命令上传镜像到仓库,默认上传到Docker Hub官方仓库(需要登录)。命令格式为:

$ docker push NAME[:TAG] | [REGISTRY_HOST[:REGISTERY:PORT]/]NAME[:TAG]

例如:
$ docker tag test:latest user/test:latest   // 添加新的标签
$ docker push user/test:latest  // 上传镜像