一、使用Docker镜像

1. 获取镜像

可以使用docker pull命令直接从Docker Hub镜像源来下载镜像。该命令的格式为docker pull NAME[:TAG]。其中,NAME是镜像仓库的名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息)。通常情况下,描述一个镜像需要包括“名称+标签”信息。

例如,获取一个Ubuntu 18.10系统的基础镜像可以使用如下命令:

$ docker pull ubuntu:18.10

对于Docker镜像来说,如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。

如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址。例如从网易蜂巢的镜像源来下载ubuntu:18.04镜像,可以使用如下命令,此时下载的镜像名称为hub.c.163.com/public/ubuntu:18.04:

$ docker pull hub.c.163.com/public/ubuntu:18.04

2. 查询镜像信息

  (1) 使用images命令列出镜像

$ docker images

  (2) 使用tag命令添加镜像标签

  它们实际指向同一个镜像文件,只是别名不同而已

$ docker tag ubuntu:latest myubuntu:latest

  (3) 使用inspect命令查看详细信息

$ docker inspect ubuntu:18.10

  如果只要其中一项内容时,可以使用参数-f来指定,例如,获取镜像的Architecture:

$ docker inspect -f {{.Architecture"}} ubuntu:18.10

  (4) 使用history命令查看镜像历史,该命令将列出各层的创建信息

$ docker history ubuntu:18.04

3. 搜寻镜像

 使用docker search命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像。用法为docker search TERM,支持的参数主要包括:

  --automated=true|false:仅显示自动创建的镜像,默认为否;

  --no-trunc=true|false:输出信息不截断显示,默认为否;

  -s,--stars=X:指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有镜像。

  例如,搜索所有自动创建的评价为3以上的带nginx关键字的镜像:

$ docker search --automated -s 3 nginx

4. 删除镜像

  (1) 使用标签删除镜像

  使用docker rmi命令可以删除镜像,命令格式为docker rmi IMAGE [IMAGE ...],其中IMAGE可以为标签或ID。

$ docker rmi ubuntu:latest

  当同一个镜像拥有多个标签的时候,docker rmi命令只是删除该镜像多个标签中的指定标签而已,并不影响镜像文件。当镜像中剩下一个标签的时候要小心,此时再使用docker rmi命令会彻底删除镜像。

  (2) 使用镜像ID删除镜像

  当使用dokcer rmi命令,并且后面跟上镜像的ID(也可以是能进行区分的部分ID串前缀)时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。当有该镜像创建的容器存在时,镜像文件默认是无法被删除的。

$ docker rmi 8f

  如果要想强行删除镜像,可以使用-f参数

$ docker rmi -f ubuntu:18.04

5. 创建镜像

  创建镜像有三种方法:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建。

  (1) 基于已有镜像的容器创建

  该方法主要是使用docker commit命令。命令格式为docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]],主要选项包括:

    -a,--author="":作息信息;

    -c,--change=[]:提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等;

    -m,--message=“”:提交信息;

    -p,--pause=true:提交时暂停容器运行

$ docker commit -m "Added a new file" -a "Docker Newbee" a925cb40b3f0 test:0.1

  (2) 基于本地模板导入

  用户也可以直接从一个操作系统模板文件导入一个镜像,主要使用docker import命令。命令格式为docker import [OPTIONS] file|URL  | - [REPOSITORY[:TAG]]。

  要直接导入一个镜像,可以使用OpenVZ提供的模板来创建,或者用其他导出的镜像模板来创建。OPENVZ模板的下载地址为http://openvz.org/Download/templates/precreated。

$ cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

6. 存出和载入镜像

  (1) 存出镜像,docker save

$ docker save -o ubuntu_14.04.tar ubuntu:14.04

  (2) 载入镜像,docker load,以下两种写法均可

$ docker load --input ubuntu_14.04.tar
$ docker load < ubuntu_14.04.tar

7.  上传镜像

使用docker push命令上传镜像到仓库,默认上传到Docker hub官方仓库。

$ docker push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_RORT]/]NAME[:TAG]

第一次上传时,会提示输入登录信息或进行注册。

Docker镜像操作命令的更多相关文章

  1. Docker镜像的管理和创建

    1. Docker镜像和Docker容器:      Docker镜像实际上是一系列的文件系统,通常的Linux系统一般是两层文件系统,bootfs和rootfs,bootfs就是bootloader ...

  2. 使用Dockerfile制作自己的Docker镜像

    一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...

  3. doris 0.9.0版本docker镜像制作与使用

    1. 安装docker 详情请参见本人博客 2. 编译doris 详情请参见doris官网文档 3. 在编译好的doris output文件夹下编写两个Dockerfile 3.1  Dockerfi ...

  4. 一键清理 Nexus 中无用的 Docker 镜像

    现许多团队使用 Nexus 来管理 Docker 镜像,产品不断迭代,镜像仓库占用的磁盘空间也越来越大.由于 Nexus 的控制台并未提供批量操作镜像功能,清理镜像十分不便.本文分享一个清理 Nexu ...

  5. docker 镜像管理操作

    镜像特点 1. 分层存储的文件 2.一个软件运行环境 3.一个镜像可以创建多个容器 4.一种标准交付 5.不包含Linux内核而又精简的Linux操作系统 6.不是一个单一的文件而是由多层构成的,可以 ...

  6. Docker 常用操作命令

    一. docker安装  方式1 本地安装: 1)下载docker安装文件: 2)执行安装命令  yum localinstall *: 3)安装完之后 重启 systemctl restart do ...

  7. [Docker镜像] 关于阿里云容器镜像服务的使用(以天池比赛提交镜像为例)

    最近在参加天池比赛,由于比赛需要使用阿里云容器镜像服务完成线上预测任务,所以花费了3-4天的时间了解并使用Docker完成相关镜像操作,在此分享下我学习的内容,以下是本文的目录结构: 介绍 镜像 容器 ...

  8. 【docker专栏8】使用IDEA远程管理docker镜像及容器服务

    使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...

  9. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

随机推荐

  1. 虚拟机安装精简版centos7过程

    虚拟机配置工作如下所示 1.创建虚拟机  使用键盘组合键CTRL+N2.选择自定义(高级) 如图所示: 3.默认如何所示: 4.选择 稍后安装操作系统 如图所示: 5.选择对应的操作系统 如何所示 6 ...

  2. JS:Math 对象方法

    Math 对象方法方法     描述Math.ceil(x)     对数进行上舍入.(向上取整:大于等于x的最小整数)Math.floor(x)     对数进行下舍入.(小于等于x的最大整数)Ma ...

  3. MQTT研究之EMQ:【EMQ之HTTP认证/访问控制】

    今天进行验证的逻辑是EMQ的http的Auth以及ACL的逻辑. 首先,参照HTTP插件认证配置的说明文档进行基本的配置, 我的配置内容如下: ##-------------------------- ...

  4. 线程中AutoResetEvent与ManualResetEvent的区别

    线程之间的通信是通过发信号来进行沟通的.. ManualResetEvent发送Set信后后,需要手动Reset恢复初始状态.而对于AutoResetEvent来说,当发送完毕Set信号后,会自动Re ...

  5. Kivy中文编程指南--https://cycleuser.gitbooks.io/kivy-guide-chinese/content/

    Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等. + Kivy 可以运行于 Windows, Linux, MacOS, Android, ...

  6. MySQL 索引的增删查

    查看索引: > SHOW INDEX FROM table_name; > SHOW KEYS FROM table_name;   删除索引: > DROP INDEX index ...

  7. mac brew install error

    Error: No available formula with the name "pygame" ==> Searching for a previously delet ...

  8. Oracle中rownum的基本用法

    Oracle中rownum的基本用法 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且r ...

  9. spring boot profiles 实现多环境下配置切换 docker版

    1,前言 开发环境总需要调试,docker直接部署不需要调试,环境配置不一样,这里的目的只是,在docker文件环境与开发环境使用不同的配置文件,项目结构如下 2,设置项目配置文件 默认配置文件 ap ...

  10. 2018/12/19 20:55:58 螺纹钢豆粕PTA

    螺纹钢M5中枢上升到M30级别,感觉向上的可能高..可是没有好的开仓位,那就不用硬要开仓,耐心等待自己熟悉的信号: PTA M5中枢扩展为M30中枢,目前M30向下一笔没结束: 豆粕等待当前日线下跌结 ...