1. 载一个 Ubuntu 的基础镜像

Docker 系列二: docker 镜像相关操作

2. 利用镜像创建一个容器, 在其中运行 bash 应用

Docker 系列二: docker 镜像相关操作

3. docker images 相关子命令:

  •   -a,-- all= true| false  :列出所有的镜像文件(包括 临时 文件),默认为否; 

  • --digests= true| false: 列出镜像的数字摘要值, 默认为否;

  •  -f,-- filter=[]: 过滤列出的镜像,如 dangling=true 只显示没有被使用的镜像;也可指定带有特定标注的镜像等;

  • --format=" TEMPLATE": 控制输出格式, 如 . ID 代表 ID 信息,. Repository 代表仓库信息等;

  • --no- trunc= true| false: 对输出结果中太长的部分是否进行截断, 如 镜像 的 ID 信息, 默认为是;

  • -q,-- quiet= true| false: 仅输出 ID 信息, 默认为否。

  • 其中,对输出结果进行控制的选项如- f,-- filter=[]、-- no- trunc= true| false、- q,-- quiet= true| false 等, 大部分子命令都支持。 更多子命令选项还可以通过 man docker- images 查看。

4. 使用 tag 命令添加镜像标签,类似于链接的作用,标签不同,ID 不同,指向同一目标

docker tag ubuntu:latest myubuntu:latest

5. 使用 docker inspect 命令查看详细信息

docker inspect myubuntu:latest

只查看信息中一项,可以使用参数 -f 来指定

docker inspect -f {{".Id"}} myubuntu:latest

6. 使用 docker history 命令查看镜像历史信息

docker history myubuntu:latest

查看完整信息:docker history myubuntu:latest --no-trunc

7. 使用 docker search 命令查看仓库中的镜像,默认搜索官方仓库

docker search mysql

8. 删除镜像 

标签删除:docker rmi myubuntu:latest   (只是删除了一个镜像 ID 对应的标签,若有其它标签,镜像依旧存在)

镜像 ID 删除:docker rmi 47b19964fb50 (当该镜像有创建的容器存在时,默认是不能被删除的。可以使用 -f 强制删除,但建议先删除所有依赖该镜像的容器,再删除镜像)

扩展:(查看所有容器:docker ps -a ;删除容器:docker rm CONTAINER_ID)

9. 创建镜像

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

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

Docker 系列二: docker 镜像相关操作

(2) 基于本地模板导入

使用 Open VZ 提供的系统文件模板:https://wiki.openvz.org/Download/template/precreated

下载 ubuntu 模板文件:wget http://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz

命令导入:cat ubuntu-16.04-x86_64.tar.gz | docker import - ubuntu:16.04

然后使用 docker images 就可以查看到新镜像了。

(3) 基于 Dockerfile 创建

待...

10. 存出和导入镜像

Docker 系列二: docker 镜像相关操作

11. 上传镜像

docker push test:latest (先注册 docker hub,第一次 push 需要登录)

 

相关文章: