1. 载一个 Ubuntu 的基础镜像
2. 利用镜像创建一个容器, 在其中运行 bash 应用
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) 基于已有镜像的容器创建
(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. 存出和导入镜像
11. 上传镜像
docker push test:latest (先注册 docker hub,第一次 push 需要登录)