一、使用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. c++——大端序,小端序的排列问题

    #include<iostream> using namespace std; union TestModel { int i; char ch; }; int main() { unio ...

  2. 关于mysql 的 autoCommit 参数

    首先描述一下这个参数的作用. 这个参数 默认是开启的. 开启以后再命令敲的sql 会自动提交.如果关闭,就必须手动 commit. 查看 这个 自动提交状态. SELECT @@autocommit; ...

  3. 使用composer遇到的坑

    平台:Windows下cmd命令行內 問題 [Composer\Downloader\TransportException] The "https://packagist.phpcompos ...

  4. 同一台电脑配置多个JBoss

    在jboss中找到对应的文件,修改对应文件端口可解决两个以上jboss的端口冲突问题 不同的jboss修改的端口要区别开来,本例所用jboss版本为JBoss4.2.2.GA 文件端口: 8083,1 ...

  5. React 生命周期及使用场景

    对比版本:16.4.0 VS 16.3.0 VS 16.2.0 发现最近几次React版本更改比较大,在为17.0的大版本作准备.总结了一下React生命周期函数的变化. 综合对比图如下: 各版本分别 ...

  6. 招聘IT图书兼职作者(长期兼职)

    招聘图书兼职作者(长期兼职),本公司有十多年的计算机图书出版经验,每年出版上百本编程类图书, 和清华大学出版社 电子工业出版社 机械工业出版社都有很好的合作.你可以不用按时上线,不用天天被boss盯着 ...

  7. centos7安装mysql,以及设置root密码

    1.首先进入mysql官网的下载-社区https://dev.mysql.com/downloads/ 2.点击下载后,切换版本5.7(这里的版本对于rpm没有作用),然后在新的页面中选择操作系统 3 ...

  8. python:面向对象初级

    面向对象编程类的概念 : 具有相同属性和技能的一类事物 人类 抽象对象 : 就是对一个类的具体的描述 具体的人 具体 使用面向对象的好处: 使得代码之间的角色关系更加明确 增强了代码的可扩展性 规范了 ...

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

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

  10. windows2008 apache2.4 tomcat-7多域名绑定环境配置

    =====================软件清单Apache2.4.33apache-tomcat-7.0.85===================== 1.安装apache    1.1下载ap ...