美文网首页
Docker命令总结-镜像相关

Docker命令总结-镜像相关

作者: ________方块丶 | 来源:发表于2020-02-12 01:44 被阅读0次

平时学习总结,闲着无聊的时候看一眼,混个印象。

==可以通过 man docker-xxx 来查看一个docker命令的详细解释==

  1. 从镜像源拉取镜像
docker [image] pull NAME[:TAG]
例如:
docker pull ubuntu:18.04

<!--
严格意义上,镜像的仓库名称还要加上仓库地址。
如果没有指定,就从默认的注册服务器Docker Hub Registry中拉去。
如果从非官方下载,你可以指定完整的仓库地址
-->
docker pull hub.c.163.com/public/ubuntu:18.04

<!-- 常用options -->
-a,-all-tags=true|false : 是否拉去所有的tag默认false
--disable-content-trust : 取消镜像内容校验,默认为true

描述一个镜像要通过“NAME+TAG”的方式,如果不显示指定则默认为latest标签。
一般来说lastest标签意味着它会找最新版本的镜像,内容是不稳定的。因此生产环境,应该避免使用。镜像文件一般由若干层(layer)组成,每一层都会有一个64位16进制字符组成的id,不同镜像包括相同层时,这个层只会存储一份,来减少存储空间。为了加速镜像获取,可以通过--registry-mirror=proxy_url来指定镜像代理服务器地址(如:https://registry.docker-cn.com

  1. 列出本地已有镜像
docker images

<!-- 常用options -->
-a,-all=true|false : 列出所有镜像文件(包括临时的),默认false
--digests=true|false : 列出镜像的数字摘要值,默认false
-f,--filter=[]:过滤列出将星,例如dangling=true 过滤掉悬虚镜像 只显示没有被使用的镜像,也可指定带有特定标注的镜像等。
--no-trunc=true|false :对于结果中太长的部分是搜进行截取,默认为是
-q,--quiet=true|false : 仅输出ID信息,默认为否

docker image ls

<!--只返回悬虚(dangling)镜像-->
docker image ls --filter dangling=true

镜像信息解释

  • REPOSITORY(仓库):如ubuntu标示ubuntu系列的基础镜像
  • TAG(镜像的标签信息)
  • IMAGE ID(镜像ID):如果两个镜像的ID相同,则说名他们实际是一个镜像,只是具有不同的标签
  • CREATED(创建时间)
  • SIZE(镜像大小)
  1. 给镜像增加标签
docker tag [原] [新增]
<!--举例-->
docker tag ubuntu:latest myubuntu:latest

增加标签后,列出本地已有镜像,可以发现会有一个“新的镜像”。之所以把“新的镜像”引起来,是因为它和原tag的镜像的ID是一样,它们两个指向同一个镜像。

  1. 查看镜像详情

详细信息,包括了作者、适应架构、各层的数字摘要等。

docker [image] inspect ubuntu:18.04
<!--如果只想看其中一项内容时,可以通过如下操作-->
docker [image] inspect -f {{".Architecture"}} ubuntu:18.04
  1. 在Docker Hub官方仓库中搜寻镜像
docker search [option] keyword
<!--例如,搜索官方提供的带有nginx关键字的镜像-->
docker search --filter=is-official=true nginx
<!--搜索所有收藏数超过4的-->
docker search --filter=stars=4 tensorflow
<!--常用options-->
-f,--filter filter:过滤输出内容
--format string: 格式化输出内容
--limit int: 限制输出结果个数,默认25个
--no-trunc: 不截断输出结果
  1. 删除镜像
docker rmi [NAME:TAG]|[IMAGEID]
docker image rm
<!--常用options-->
-f,-force:强制删除镜像,即使有容齐依赖它
-no-prune:不清理未带标签的父镜像

如果一个镜像有多个标签是,删除命令只会删除指定的标签而已,并不会影响镜像文件。只有在镜像只剩下一个标签的时候才会删除一个镜像。当docker rmi命令,后面跟上镜像ID时,会尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。

  1. 清理镜像

Docker使用一段时间之后,就会遗留一些临时的镜像文件,以及没有被使用的镜像。比如说:悬虚镜像(dangling),当你给一个镜像命名时,正好已经存在的一个镜像也使用了这个名字,已经存在的镜像名字就变成了<none>:<none>。

docker image prune
<!--移除全部的悬虚镜像-->
docker image prune 
<!--除了悬虚镜像,还会而外移除没有任何容器使用的镜像-->
docker image prune -a
<!--支持的options-->
-a,-all: 删除所有无用镜像,不光是临时镜像。
-filter filter: 只清理符合给定过滤器的镜像。
-f,force: 强制删除镜像,而不进行提示确认。
  1. 创建镜像

方式1:基于一个已有容器创建

docker [container] commit [options] CONTAINER [REPOSITORY[:TAG]]

<!--
提交一个test:0.1的镜像到默认仓库,指明作者和信息,容器可以通过容器id和容器名称来指定
创建成功会返回一个64位16进制的镜像ID信息
-->
docker [container] commit -m "new file" -a "GHH" CONTAINERID test:0.1

<!--支持的options-->
-a,--author="": 作者信息
-c,--change=[]: 提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
-m,--message="": 提交消息
-p,--pause=true: 提交时暂停容器运行

方式2:基于本地模版倒入导入

可以从一个操作系统模版文件导入成一个镜像

docker [image] import [options] file|URL|- [REPOSITORY[:TAG]]

<!--下载ubuntu-18.04的模版压缩包-->
cat ubuntu-18.04-x86-64...tar.gz | docker improt - ubuntu:18.04

方式3:基于Dockerfile创建

Dockerfile是一个镜像的描述文件,指明了基于某个父镜像创建新镜像的过程。

docker [image] build -t [NAME:TAG]

docker [image] build -t python:3
  1. 存出和载入镜像
<!--存储-->
docker [image] save

docker save -o ubuntu_18.04.tar ubuntu:18.04
<!--支持options-->
-o,-output string: 导出镜像到指定的文件中

<!--加载-->
docker [image] load

docker load -i ubuntu_18.04.tar
docker load < ubuntu_18.04.tar
<!--支持options-->
-i,.-input string

  1. 上传镜像

上传镜像到仓库,默认上传到Docker Hub官方仓库

docker [image] push

docker [image] push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]

docker push user/test:latest

第一次上传时,会提示输入登陆信息或进行注册,之后登陆信息会记录到本地~/.docker目录下

相关文章

  • Docker基本操作

    一、Docker镜像相关命令 二、Docker容器相关命令 三、Dockerfile指令解释

  • Docker相关基础命令

    镜像相关命令 docker pull #拉取镜像 docker images #列出本地所有镜像 docker i...

  • Docker命令总结-镜像相关

    平时学习总结,闲着无聊的时候看一眼,混个印象。 ==可以通过 man docker-xxx 来查看一个docker...

  • Docker常用命令

    一、帮助命令 查看docker版本信息命令 查看docker相关信息命令 docker帮助命令 二、镜像命令 一个...

  • docker 常见命令

    docker 常见命令 查看版本 查看详细版本 查看 docker 基本信息 镜像相关的命令 镜像仓库地址:htt...

  • docker笔记相关

    docker相关命令 查看本地镜像 sudo docker images 查看所有的容器 sudo docker ...

  • docker常用命令

    一、docker镜像相关命令 1、service docker start // 启动docker2、dock...

  • Docker基本命令

    镜像操作相关命令 容器操作相关命令 访问Docker仓库 Docker数据管理 端口映射与容器互联 Dockerf...

  • docker操作命令记录

    "docker 常用命令" 仓库相关 容器相关 镜像相关 run命令相关 -d,后台运行容器, 并返回容器ID;不...

  • docker Dockerfile 安装以及应用等

    什么是docker docker 安装(centos) 使用命令 个人常用安装与使用docker 容器相关 镜像相...

网友评论

      本文标题:Docker命令总结-镜像相关

      本文链接:https://www.haomeiwen.com/subject/kvfqfhtx.html