## 信息
# 显示本地所有的镜像列表
docker images
# 显示生成一个镜像的历史命令
docker history
-H :以可读的格式打印镜像大小和日期,默认为true;
--no-trunc :显示完整的提交记录;
-q :仅列出提交记录ID。
#查看本地镜像test/ubuntu:16.04的创建历史。
docker history test/ubuntu:16.04
## 操作
# 使用Dockerfile创建镜像(推荐)
docker build
# 使用当前目录的Dockerfile创建镜像。
docker build -t test/ubuntu:v1 .
# 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build github.com/creack/docker-firefox
# 从容器创建镜像
docker commit
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
# 将容器a404c6c174a2 保存为新的镜像mymysql:v1,并添加提交人信息和说明信息。(当在容器内做了改变后可以提交作为自己定制的镜像)
docker commit -a "xst" -m "it is test" a404c6c174a2 mymysql:v1
# 强制删除本地镜像test/ubuntu:16.04。
docker rmi -f test/ubuntu:16.04
# 为镜像起一个别名
docker tag
docker tag ubuntu:15.10 test/ubuntu:v15(将镜像ubuntu:15.10标记为 runoob/ubuntu:v15 镜像。)
## 导出导入
# 从一个tar包创建一个镜像,和save配合使用
docker load
# 导出镜像,将一个镜像保存为一个tar包,带layers和tag信息
docker save
-o :输出到的文件。
docker save -o ubuntu_16.tar test/ubuntu:v3 #将镜像test/ubuntu:16.04 生成ubuntu_16.tar文档
## 仓库(registry)相关
# 登录到一个registry,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。
# 例如:docker login -u 用户名 -p 密码
docker login
#登出一个reigsty,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。
docker logout
# 从registry仓库搜索镜像
docker search
--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-s :列出收藏数不小于指定值的镜像。
# 从Docker Hub查找镜像名php5.6-fpm
docker search php:5.6-fpm
# 从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像
docker search -s 10 java
# 从仓库下载镜像到本地
docker pull
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
#从仓库下载php的5.6-fpm镜像到本地,php是镜像名,5.6-fpm是镜像标签
docker pull php:5.6-fpm
#从仓库下载REPOSITORY为java的所有镜像。
docker pull -a java
# 将一个镜像push到registry仓库中,要先登陆到镜像仓库
docker push
--disable-content-trust :忽略镜像的校验,默认开启
# 上传本地镜像mycon:v1到镜像仓库中。
docker push mycon:v1