Docker之镜像操作

Docker之镜像操作

  1. 获取镜像

    未指定仓库路径时,默认从docker hub上面下载镜像,如果未指定标签版本,默认下载最新版并且跟随最新版变换而变化,生成环境一定要指定标签版本。

    • 用法:docker pull [仓库路径][镜像名][标签]

    • 示例:docker pull daocloud.io/library/mysql:latest

    • 主要参数:

      • --disable-content-trust 取消镜像的内容校验,默认为真
  2. 查看镜像信息

    • 列出所有镜像 docker images
    • 主要参数:
      • --all=true|false 列出所有镜像文件(包括临时文件),默认为否
      • --filter=[],根据规则过滤列出的镜像
      • --no-trunc=true|false 对输出结果太长的字段是否截断,默认是
  3. 使用tag命令添加镜像新标签名

    为了方便后续使用特定镜像,可以为镜像添加新的标签名,他们只是标签名不一样,实际的镜像id还是一样的。

    • 示例:docker tag centos:7.0.4 mycentos:7.0.4
  4. 使用inspect命令查看详细信息

    查看进项详细信息,包括作者,适应架构,各层的数字摘要

    • 示例:docker inspect mysql:5.0.4

    它返回的是个JSON数据格式,可以查看指定字段

    • 示例:docker inspect -f {{".Architecture"}} mysql:5.0.4
  5. 使用history查看镜像各层信息

    示例:docker history mysql:5.0.4

  6. 搜索镜像

    search命令可以搜索Docker Hub上面的镜像

    • 重要参数:

      • --filter filter 过滤输出内容
      • limit int 限制条数
    • 示例:

      • 搜索官方提供的带Nginx关键字的镜像

        docker search --filter=is-official=true nginx

      • 搜索所有收藏数超过 4 的关键词包括 tensorflow 的镜像

        docker search --filter=stars=4 tensorflow

  7. 删除清理镜像

    1. 使用标签删除镜像

      docker rmi [params] params可以是标签或ID

      重要参数:

      • -f :强行删除容器,即使有容器依赖它
      • -no-prune:不要清理未带标签的父镜像

      示例:docker rmi mysql:5.0.4

    2. 使用镜像ID删除镜像

      当使用ID来删除镜像时,会先删除所有指向该ID的标签,再删除镜像文件本身,如果有该镜像存在正在运行的容器时,镜像文件默认不能删除。但可以使用-f强行删除

      示例:docker rmi Bflbd2lbd25c

    3. 使用docker一段时间后,系统可能会遗留一些临时镜像文件,使用使用docker image prune命令来清理

      重要参数:

      • -a :删除所有无用镜像,不光是临时镜像
      • -filter filter:只删除符合给定过滤器的镜像
      • -f:强行删除镜像,而不进行确认
  8. 创建镜像

    1. 基于已有容器创建

      就是在已存在的镜像中做些修改,然后保存为新的镜像,可以使用ID或名称来指定容器

      示例:docker [con七ainer] commi七-m "Added a new file" -a "Docker Newbee" a925cb40b3f0
      test:0.1

    2. 基于本地模板导入

    3. 基于DockerFile创建

  9. 导出和载入镜像

    1. 导出镜像为本地文件

      docker save -o ubuntu_18.04.tar ubuntu:18.0.4

    2. 将tar文件再导入镜像库

      docker load -i ubuntu_18.04.tar

  10. 上传镜像库

    直接docker push会将镜像推送到Docker Hub公共仓库里面,我们也可以搭建私有仓库,具体参考:docker 从公共仓库拉取,并上传到私有仓库 - casion - CSDN博客,将镜像推送到私有仓库中。在没网的情况下,我们可以使用save,和load来传递镜像文件。

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

推荐阅读更多精彩内容

  • docker环境安装完毕之后,建议到 http://dashboard.daocloud.io 注册一下,这是一个...
    普度众生的面瘫青年阅读 3,410评论 0 0
  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,469评论 1 39
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,416评论 0 27
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 8,868评论 1 21
  • 黑夜笼罩着的繁华都市, 午夜盛开着神秘之光, 似繁星,似火花。 看似伸手便可触及, 也许只能站在楼顶遥望。 黑暗来...
    涅磐的太阳鸟阅读 264评论 0 0