Docker入门与实战

二.Docker镜像的使用

1.获取镜像

​ 命令:docker [image] pull image-name[:tag]

​ 说明:

​ name为镜像仓库名称,严格来说,该name应该由注册服务器地址+镜像仓库名称组成,这样做可以避免不同仓库(注册服务器)下的镜像名称冲突的问 题,如果该注册服务器地址省略,则默认从Docker官方注册服务器(即registry.hub.docker.com)拉取。

​ tag为镜像的标签(大多数为版本信息),若省略,则默认拉取最新版本的镜像

​ e.g. docker pull ubuntu:18.04

​ 其他附加参数:

​ -a或--all-tags=true|false : 是否获取仓库中的全部镜像,默认为false。

​ --disable-content-trust : 取消镜像的内容校验,默认为true。

​ --registry-mirror=镜像仓库地址 : 指定镜像代理服务地址

​ --no-trunc=true|false : 对输出结果中太长的部分是否采取截断操作,默认为true

​ -f或--filter=[] : 过滤列出的镜像

​ --format="你期望的数据输出格式" :控制输出格式,例如,你可以在格式字符串中以.ID代表输出的ID信息,以.Repository代表仓库信息等

2.查看镜像信息

​ 命令 : docker images 或 docker image ls

​ 说明 : 列出本地主机上已有的镜像的基本信息

​ 列表字段说明:

​ repository : 来源仓库

​ tag : 镜像的标签信息(大多数为镜像版本信息),可用于标识来自于同一仓库的不同标签(版本)的镜像

​ image id : 镜像的唯一标识,具有唯一性

​ created : 镜像最后的更新时间

​ size : 镜像的大小

​ 一些可选参数:

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

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

3.更改镜像标签信息(Tag)

​ 命令 :docker tag 原镜像仓库名称:原镜像标签信息 自定义镜像仓库名称:自定义镜像标签信息

​ 说明 :类似于给目标镜像起了一个别名,类似于Linux系统中的链接文件的作用

​ e.g. docker tag hello-world:latest hello-world:promax

4.查看镜像的详细信息

​ 命令 :docker [image] inspect 镜像仓库名称:镜像标签信息

​ 说明 :能够获取到目标镜像的制作者,适应架构,各层的数字摘要等信息。由于返回的信息为JSON格式,因此,我们可以通过追加 -f JSON中的某个键 以进一步查看某一项的信息。

​ e.g. : docker image inspect nginx:latest

​ e.g. : docker image inspect -f {{".Id"}} nginx:latest

​ (此处省略500字...)

5.查看镜像历史

​ 命令 :docker history 镜像仓库名称:镜像标签信息

​ 说明 :查看镜像各层的创建信息

​ e.g. :docker history nginx:latest

6.搜索镜像

​ 命令 :docker search 镜像仓库名称

​ e.g. : docker search redis

​ 其他参数说明:

​ -f或--filter=[] : 过滤列出的镜像

​ --format="你期望的数据输出格式" :控制输出格式,例如,你可以在格式字符串中以.ID代表输出的ID信息,以.Repository代表仓库信息等

​ --limit 输出结果个数 :限制输结果的个数,默认输出25个符合条件的结果

​ --no-trunc : 不截断输出结果的任何部分

7.删除与清理镜像

​ 命令:docker rmi image1 image2 image3...或 docker image rm mage1 image2 image3...

​ 说明 :其中的imageN可以是 镜像仓库名称:镜像标签信息,也可以是镜像ID

​ 如果删除的是 镜像仓库名称:镜像标签信息,若该镜像仓库在本地存在多个(多个不同版本的同一镜像),因此删除其中一个镜像标签,仅仅会删除该指 向同一镜像的链接,只有删除最后一个镜像标签的情况下,才会删除该镜像所有文件层;如果删除的是镜像ID,由于不同版本的镜像所对应的镜像ID 都是相同的,所以,此时将会删除所有指向该镜像的不同版本的本地镜像标签,同时也会删除该镜像的所有文件层。

​ 其他参数说明:

​ -f或-force : 强制删除,即使有其之上的容器处在运行状态

​ -no-prunc : 不清理未带标签的父镜像

8.清理镜像

​ 命令 :docker image prune

​ 相关参数说明:

​ -a或--all : 删除所有无用镜像,包括临时镜像

​ -filter filter-expression : 删除符合过滤器条件的镜像

​ -f或-force :强制删除镜像,不再进行二次确认

9.创建镜像

(1)第一种方法:基于已有容器创建:

​ 命令:docker [container] commit containerID [newImageName:newImageTag]

​ e.g. :

docker commit -m "commit test" -a "Dage" ac0977cebae3 dage_redis:promax

​ 相关参数说明:

​ -a或--author=" " : 作者信息

​ -c或--change=[] : 提交的时候执行dockerfile中的指令

​ -m或--messag=" " : 提交信息

​ -p或--pause=true|false : 提交时,当前容器是否暂停运行

(2)第二种方法:基于本地模板创建:

​ 命令 :docker [image] import file|URL|-[respoitory:tag]

(3)第三种方法:基于Dockerfile创建:

​ 命令 :docker [image] build [-t repository:tag]

​ 说明 :Dockerfile是一个文本文件,专门用于描述基于父容器创建某个新镜像的过程。

10.载入与导出镜像

(1)载入镜像

​ 命令 :docker [image] load -i fileURI

​ e.g. :

docker load -i redis_promax.tar
(2)导出镜像

​ 命令 :docker [image] save -o outputFilePath repository:tag

​ e.g.

docker save -o hehehe.tar hello-world:promax

11.上传镜像

​ 命令:docker [image] push repository[ :tag] registry_host[ :registry_port]/name:tag

​ 或者:先 docker tag repository:tag name:tag,再 docker push name:tag

​ 说明:默认推送镜像至Docker官方仓库,执行上述命令之前,请先登录或注册DockerHub

docker push hello-world:promax hw-pro:promax

Docker入门与实战-Docker镜像的使用的更多相关文章

  1. SpringBoot Docker入门,SpringBoot Docker安装

    SpringBoot Docker入门,SpringBoot Docker安装 ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  2. docker入门——安装(CentOS)、镜像、容器

    Docker简介 什么是docker 官方解释: Docker is the company driving the container movement and the only container ...

  3. docker入门(二)容器与镜像的理解

    10张图带你深入理解Docker容器和镜像 申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创 原本打 ...

  4. docker入门(二)容器与镜像的关系

    [编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...

  5. Docker入门与实战讲解

    转载自:http://blog.csdn.net/relax_hb/article/details/69668815 简述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包 ...

  6. Docker入门到实战

    1.系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存 ...

  7. docker入门 基础命令 docker安装

    docker入门   在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...

  8. 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试

    一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...

  9. Docker入门 - 001 CentOS Docker 安装

    Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. ...

  10. Docker 入门及安装[Docker 系列-1]

    docker 如日中天,这不是单纯的炒概念,docker 确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用,本文对于 docker 的这些基本知识点再做一些简单回顾. 什么是 do ...

随机推荐

  1. vue树形结构图

    1.下载插件:cnpm i vue2-org-tree 2.下载less-loader不然报错(this.getOptions is not a function):npm install less- ...

  2. ESP32开发环境搭建 IDF3.3.5+VScode

    1.  软件准备: ① ESP-IDF:包含ESP32 API和用于操作工具链的脚本. ②工具链msys32:用于编译ESP32应用程序. ③编辑工具Visual Studio Code 注意:工具链 ...

  3. Thinkpad键盘操作手册与驱动 thinkpad蓝牙键盘KT-1525 manual

    thinklife mechanical keyboard tk500_win10.exe https://pan.baidu.com/s/1pQM3RcgV-phugew6vcKDLw

  4. nacos实现Java和.NetCore的服务注册和调用

    用nacos作为服务注册中心,如何注册.NetCore服务,如何在Java中调用.NetCore服务呢?可以分为下面几个步骤: 0.运行nacos 1.开发.net core服务,然后调用nacos提 ...

  5. Why WebRTC丨“浅入深出”的工作原理详解

    前言 近几年实时音视频通信应用呈现出了大爆发的趋势.在这些实时通信技术的背后,有一项不得不提的技术--WebRTC. 今年 1 月,WebRTC 被 W3C 和 IETF 发布为正式标准.据调研机构 ...

  6. Mac连接Win的方法

    前言 我们都知道,Mac和Win还是非常不一样的,作为Macdows双修选手,我今天给大家介绍一些从Mac连接Win的方法. Win的RDP 由于Win默认未安装ssh,我们最常使用的连接方式则是使用 ...

  7. Kafka + SpringData + (Avro & String) 【Can't convert value of class java.lang.String】问题解决

    [1]需求:Kafka 使用 Avero 反序列化时,同时需要对 String 类型的 JSON数据进行反序列化.AvroConfig的配置信息如下: 1 /** 2 * @author zzx 3 ...

  8. 玩转Mybatis高级特性:让你的数据操作更上一层楼

    目录 动态SQL 缓存机制 插件机制 自定义类型转换 总结 Mybatis高级特性能够帮助我们更加灵活地操作数据库,包括动态SQL.缓存机制.插件机制.自定义类型转换等.学习这些特性可以让我们更好地利 ...

  9. w11默认调用ie浏览器方法

    作为公司的一个it人员,最近发现w11不能不能调用ie,导致公司的系统不能正常使用,因为后台插件室默认调用ie,如果重新写插件太麻烦,所以百度了下,亲测可用,目前,公司电脑已经可以正常使用,具体方法如 ...

  10. [NotePad++]NotePad++实用技巧

    2 应用技巧 2.1 匹配并捕获/截取 截取第1列的数据 截取前 "(.*)", "(.*)", "(.*)"\)\); 截取后: 2.2 ...