先回顾一下容器、存储、镜像三者之间的关系。

我们知道docker的logo是一条大鲸鱼背上驮着集装箱。那我们对应到docker如下:

1)蓝色的大海里面------->宿主机系统比如我笔记本windows 7;

2)鲸鱼---------->docker环境(yum install docker-ce)

3)集装箱-------->容器实例(from 来自我们镜像模板)

docker images

功能:列出本地主机上的镜像

[root@t-docker chenzx]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test_web latest 58b7fb33ace5 3 days ago 959MB

选项说明:

REPOSITORY:表示镜像的仓库源
tag:镜像的标签
image id:镜像id
created:镜像的创建时间
size:镜像大小

同一个仓库源可以拥有多个tag,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用centos,docker就默认使用docker:latest镜像

OPTIONS说明:

    -a:列出本地所有的镜像(含中间映像层,因为镜像是分层的,-a会把所有层都显示出来)
-q:只显示镜像id。
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息,即IMAGE ID会显示完整 

docker search

功能:查找某个镜像名字

网站:注意,即使你配置了阿里云加速,docker search命令查找的网站也是是 https://hub.docker.com。阿里云加速只是下载时才会被用到。

 [root@t-docker chenzx]# docker search tomcat

画外音:仓库就是存放镜像的地方。

-s:查找starts超过多少的镜像

[root@t-docker chenzx]# docker search -s 30  tomcat
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 1996 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 55 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 49 [OK

-no-trunc:不减掉描述信息,即显示完整的描述信息

[root@t-docker chenzx]# docker search -s 30 --no-trunc tomcat
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies 1996 [OK]
tomee Apache TomEE is an all-Apache Java EE certified stack where Apache Tomcat is top dog. 55 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 based docker container. 49 [OK] 

docker pull

功能:下载镜像

[root@t-docker chenzx]# docker search -s 30 tomcat
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 1996 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 55 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 49 [OK]
[root@t-docker chenzx]#
[root@t-docker chenzx]# docker pull tomcat #相当于tomcat:latest下载最新版本
[root@t-docker chenzx]# docker pull 192.168.0.106:5000/hello-world:v1.2 #这个表示指定仓库源下载镜像

docker rmi

功能:删除某个镜像

删除单个:docker rmi -f 镜像id

[root@t-docker chenzx]# docker rmi hello-world
Error response from daemon: conflict: unable to remove repository reference "hello-world" (must force) - container 85296d21d05c is using its referenced image 2cb0d9787c4d
[root@t-docker chenzx]# docker rmi -f hello-world #如果容器正在运行会删不掉,可以加-f强制删除
Untagged: hello-world:latest
Untagged: hello-world@sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
Deleted: sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34

删除多个:docker rmi -f 镜像1:tag 镜像2:tag,不写tag,删除的就是latest

删除全部:docker rmi -f $(docker images -qa)

docker save and load(保存镜像和加载镜像)

功能: 使用 docker save 命令可以将镜像保存为归档文件。

使用 docker load  命令可以将保存的镜像加载到本地docker里面。

比如我们希望保存这个 tomcat 镜像。

[root@localhost ~]# docker image ls tomcat
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 168588387c68 2 weeks ago 463MB

保存镜像的命令为:

[root@localhost ~]# docker save tomcat | gzip > tomcat.tar.gz

然后我们将 alpine-latest.tar.gz 文件复制到了到了另一个机器上,可以用下面这个命令加 
载镜像:

[root@web]# docker load -i tomcat.tar.gz
13d5529fd232: Loading layer [==================================================>] 105.6MB/105.6MB
abc3250a6c7f: Loading layer [==================================================>] 24.07MB/24.07MB
578414b395b9: Loading layer [==================================================>] 8.005MB/8.005MB
8be692af5632: Loading layer [==================================================>] 2.172MB/2.172MB
699c7914defb: Loading layer [==================================================>] 3.584kB/3.584kB
73a5184b491e: Loading layer [==================================================>] 1.536kB/1.536kB
a6414350cc66: Loading layer [==================================================>] 316.9MB/316.9MB
2a26f9e31825: Loading layer [==================================================>] 2.56kB/2.56kB
8bf71984452f: Loading layer [==================================================>] 1.893MB/1.893MB
54b63532b965: Loading layer [==================================================>] 18.76MB/18.76MB
9a69d1970703: Loading layer [==================================================>] 2.56kB/2.56kB
Loaded image: tomcat:latest
[root@web]#

如果我们结合这两个命令以及 ssh 甚至 pv 的话,利用 Linux 强大的管道,我们可以写一 
个命令完成从一个机器将镜像迁移到另一个机器,并且带进度条的功能: 
      docker save < 镜像名 > | bzip2 | pv | ssh < 用户名 >@< 主机名 > 'cat | docker load'

[root@localhost ~]# docker save tomcat | bzip2 | pv |ssh root@192.168.122.135 'cat | docker load'

[root@web yum.repos.d]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 168588387c68 2 weeks ago 463MB

安装pv

Linux安装pv

PV全名为Pipe Viewer,利用它我们可以查看到命令执行的进度。

安装教程

在yum.conf配置文件中添加:
[ivarch]
name=RPMs from ivarch.com
baseurl=http://www.ivarch.com/programs/rpms/$basearch/
enabled=1
gpgcheck=1 当你在安装过程中出现“Public key for pv-1.6.6-1.x86_64.rpm is not installed”时,先执行:rpm --import http://www.ivarch.com/personal/public-key.txt在执行yum install pv就能安装成功了。

docker tag

功能:给镜像打标签:

[root@k8s-node3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7.22 6bb891430fb6 3 months ago 372 MB
[root@k8s-node3 ~]# docker tag mysql:5.7.22 docker-registry:5000/mysql:5.7.22
[root@k8s-node3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-registry:5000/mysql 5.7.22 6bb891430fb6 3 months ago 372 MB
mysql 5.7.22 6bb891430fb6 3 months ago 372 MB

删除镜像的标签:

[root@k8s-node3 ~]# docker rmi -f  docker-registry:5000/mysql:5.7.22
Untagged: docker-registry:5000/mysql:5.7.22

docker 8 docker的镜像命令的更多相关文章

  1. Docker 最常用的镜像命令和容器命令

    本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像 ...

  2. Docker最常用的镜像命令和容器命令

    一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...

  3. docker的使用之镜像命令

    说明 Docker运行容器前需要本地存在对应的镜像 ,如果镜像不存在本地,Docker会从镜像仓库下载 获取镜像 通过网址可以找到目标镜像 https://hub.docker.com/explore ...

  4. 3、docker常用命令:help、镜像命令、容器命令

    1.帮助命令 1.docker version 2.docker info 3.重点掌握:docker --help 2.镜像命令 1.docker,镜像,容器关系 2.docker images ( ...

  5. Docker基础修炼2--Docker镜像原理及常用命令

    通过前文的讲解对Docker有了基本认识之后,我们开始进入实战操作,本文先演示Docker三要素之镜像原理和相关命令. 本文的演示环境仍然沿用上一篇文章在本地Centos7中安装的环境,如果你本地没有 ...

  6. 【Docker】5. 常用命令—镜像命令

    学习命令,官方文档千万别忘记了,不会的就到这里来查. 一.帮助命令 1.显示docker哪些命令 docker --help 另外,也可以查看具体命令的用法,比如我想知道命令docker images ...

  7. docker制作node程序镜像:

    准备: 需要5个文件 新建一个docker文件夹 1 .ignore git忽略文件用的 2 pakage.json 安装NODE程序的 也可以直接拷贝进 docker文件加 3 node环境 lin ...

  8. docker (2) 通用/镜像命令

    Docker 的常用命令: (1)Docker  help 命令: 可以查看有关docker的所有操作命令: (2)docker COMMAND -–help 查看docker 的某项命令的帮助文档 ...

  9. docker (2) 通用/镜像命令

    原文:docker (2) 通用/镜像命令 Docker 的常用命令: (1)Docker  help 命令: 可以查看有关docker的所有操作命令: (2)docker COMMAND -–hel ...

  10. docker学习笔记2--对镜像/容器的命令操作

    Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...

随机推荐

  1. iOS---------- MBProgressHUD (1.0.0)的变动

    1.改变菊花的颜色 //    hud.color = [UIColor blackColor];-------------->  hud.bezelView.color =[UIColor b ...

  2. Python 一键commit文件、目录到SVN服务器

    一键commit文件.目录到SVN服务器   by:授客 QQ:1033553122 实现功能 1 测试环境 1 代码show 1   实现功能 一键提交文件.目录到svn 测试环境 Win7 64位 ...

  3. 初步了解redux

    redux作为react的状态状态管理工具,是十分重要的一部分,但是它在学习起来比较困难.它的写法一共分为三部分,而且他不像其他的东西一样可以写一步,在页面上查看一下.它必须三个部分全部完成之后,才能 ...

  4. (后端)springboot 在idea中实现热部署(转)

    自己用到了iIntelliJ IDEA 这个ide工具,但是和以前的工具写html,css,js直接刷新页面不同,这个需要去热部署,网上搜的解决方法: SpringBoot的web项目,在每一次修改了 ...

  5. 详解JS设计模式

    原文链接:www.cnblogs.com 一:理解工厂模式 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式. 简单的工厂模式可以理解为解决 ...

  6. 编程经验点滴----在 Oracle 数据库中保存空字符串

    写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...

  7. java实现wc

    github项目传送门:https://github.com/yanghuipeng/wc 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程 ...

  8. Reporting Service 2008 “报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的”

    今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况 ...

  9. linux shell 指令 诸如-d, -f, -e之类的判断表达式简介

    一.文件比较运算符 1. e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] 2. -d filename 如果 filename为目录,则为 ...

  10. Java监控类库Metrics

    Gauge含义:瞬时值值类型:不限 Counter:作用:可以insr, decr 的计数器值类型:数字 Histogram:含义:maximum, mean, etc., it also measu ...