使用Docker镜像:
- 获取镜像
- 查看镜像信息
- 搜寻镜像
- 删除镜像
- 创建镜像
- 存储和载入镜像
- 上传镜像
一、获取Docker镜像
$ docker pull NAME[:TAG]
其中,NAME是镜像仓库的名称,TAG是镜像的标签。如果不显示指定TAG,则
默认会选择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 // 上传镜像