手把手教你如何使用docker镜像

镜像(image) 是 Docker 三大核心概念中最为重要的。docker运行容器需要本地存在对应的镜像,如果镜像没有保存在本地,Docker会尝试先从默认镜像下载 (默认使用 Docker hup 公共注册服务中器中的仓库),用户也可以通过配置,使用自定义的镜像。
现在,我们来学习一把如何操作镜像吧。

获取镜像

  • docker pull ubuntu:14.04


    image.png
  • 利用该镜像创建一个容器,在其中运行 bash 应用

 docker run -it ununtu:14.04
image.png
  • 退出
    exit

  • 查看镜像信息 可以查看本地主机上已有镜像的基本信息
    docker images

    image.png

    下面依次来讲讲 这几个参数的含义
    REPOSITORY 来自于哪个仓库
    TAG 镜像的标签信息 ,比如latest 14.04 来标注不同的版本信息。标签只是标记,并不能标识镜像内容;
    IMAGE ID 这个非常重要,它唯一标识了镜像,在使用镜像ID的时候,一般可以使用该ID 的前若干个字符组成的可分区串来代替完整的ID
    SIZE 表示镜像的逻辑体积大小,实际上由于相do同的镜像层本地只会存储一份,物流上占用的存储空间会小于各镜像的逻辑体积之和。

  • 使用 tag 命令添加镜像标签
    docker tag ubuntu:latest myubuntu:latest

    image.png

可以看到这两个镜像 的ID 完全一样,他们实际上是指向的是同一个文件,只是别名不同而已。docker tag命令添加的标签起到了类似链接的作用。

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


    image.png
  • 使用 history 命令查看镜像历史
    docker history ubuntu:14.04

    image.png

  • 使用 docker search 命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像
    其中几个重要参数
    -- automated=true|false 仅显示自动创建的镜像 默认为否
    -- no-trunc=true|false 输出信息不截断显示 默认为否
    -s, -- stars=X 指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有镜像
    搜索自动创建评价为 3+ 带nginx 关键字的镜像
    docker search --automated -s 3 nginx

image.png

删除镜像

1、 使用标签删除镜像 docker rmi
如果使用镜像名称来删除镜像的话,有可能有多个标签名相同指向同一个镜像,这时候建议使用镜像ID来删除

注意当有该镜像创建的容器存在的时候,需要删除依赖该镜像的所有容器,再来删除镜像。
如果要强制删除 可以使用 docker rmi -f ubuntu:14.04

先删除依赖的容器 docker rm


image.png

再删除对应的镜像 docker rmi ID


image.png

创建镜像

创建镜像的方法主要有三种:

  1. 基于已有的镜像容器创建
    a. 使用镜像创建启动一个容器,创建一个文件并退出。


    image.png

    b. 提交一个镜像 注意这里的 id要一致


    image.png

    c. 查看本地镜像列表
    image.png
  2. 基于本地模板导入

  3. 基于 Dockerfile创建

存出和载入镜像

   使用``` docker save -o ubuntu_14.04.tar ubuntu:14.04 ``` 来存出镜像
image.png
使用 ``` docker load --input ubuntu_14.04.tar ```来导入镜像到本地镜像列表
image.png

上传镜像

可以使用 docker push 上传镜像到仓库,默认上传到 DockerHub 官方仓库

image.png

总结

今天主要讲述了 docker 镜像一系列的操作命令

  • docker pull 获取镜像
  • docker images 查看本地镜像列表
  • docker search 搜索镜像
  • docker rmi 删除镜像
  • docker commit 创建镜像
  • 存出 docker save 载入 docker load
  • 上传镜像到仓库 docker push

感谢耐心阅读 !

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。