Docker学习(三):镜像

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、简介

docker运行前需要本地存在对应的镜像,若镜像不存在本地,docker会先尝试从默认的镜像仓库下载(Docker Hub公共注册服务器中的仓库)。用户也可以配置,使用自定义的镜像仓库。

2、列出镜像列表

sudo docker  images

当以普通用户身份去使用docker images时,出现以下错误: 输入图片说明

那就要加上sudo

输入图片说明

各个选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

使用docker inspect命令可以获取某个镜像的详细信息

sudo docker inspect ***

输入图片说明

3、获取镜像

镜像是docker运行容器的前提。使用docker pull命令从网络上下载镜像。

sudo docker pull NAME[:TAG]

若不显示制定tag,默认选择latest标签,即下载最新版本的镜像。

输入图片说明

这个例子下载的是ubuntu:latest镜像,是最新的版本的镜像。可以从图中看到,镜像文件一般由若干层组成,行首的字符串代表各层的ID。

也可以根据指定标签下载特定版本的某一镜像,如14.04标签

sudo docker pull ubuntu:14.04

还可以从其他注册服务器的仓库下载,如DockerPool社区的镜像源dl.dockerpool.com下载最新的ubuntu镜像。

sudo docker pull dl.dockerpool.com:5000/ubuntu

4、搜寻镜像

搜索远端仓库中共享的镜像

sudo docker search TEAM

输入图片说明

返回了很多包含关键字的镜像,包括镜像名字、描述、星级(受欢迎度)、是否官方创建、是否自动创建等等。

5、删除镜像

5.1、使用镜像的标签删除镜像

sudo docker rmi IMAGE[IMAGE...]

iMAGE可以为标签或ID

比如我先获取一个镜像ubuntu 14.04,可以看到存在; 输入图片说明

然后我尝试删除。 输入图片说明 果然删除成功。

5.2、使用镜像的ID删除镜像

使用docker rmi跟上ID后,会先尝试删除所有指向该镜像的标签,然后删除镜像文件本身。

但是,当有该镜像创建的容器存在时,镜像文件是无法被删除的。比如之前创建的hello-world 使用docker ps -a 可以看到本机上存在的所有容器。可以看到,后台存在一个退出状态的容器,是基于hello-world和hello-world:latest镜像创建的,师徒删除该镜像,docker会提示有容器在运行,无法删除。 输入图片说明

强行删除在rmi后面加个-f

6、创建镜像

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

6.1、基于已有镜像的容器创建

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

主要选项包括:

  • -a,--author="" 作者信息;
  • -m,--message=""提交消息;
  • -p,--pause=true 提交时暂停容器运行

演示如何创建一个新镜像。首先启动一个镜像。由于我本地没有这个镜像,所以会先下载。

输入图片说明

然后,在其中进行修改操作。图中,是创建一个test文件,之后退出。

输入图片说明

记住容器的ID为e65004f2033f;

此时该容器跟之前的镜像相比,已经发生了改变。用docker commit 命令来提交为一个新的镜像。提交时候用id或名称来指定容器

输入图片说明

返回的是新创建镜像的ID信息;查看本地镜像列表,可以看到已创建。 输入图片说明

7、存出和载入镜像

7.1、存出镜像

sudo docker save -o

例如,存出本地的ubuntu:14.04镜像为文件ubuntu_14.04.tar

输入图片说明

7.2、载入镜像

从存出的本地文件中再导入到本地镜像库

sudo docker load

例子:从文件ubuntu_14.04.tar导入镜像到本地列表,如下图所示的两种方式: 输入图片说明

转载于:https://my.oschina.net/joe12321/blog/1553534

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统流程图

转载于:https://www.cnblogs.com/ADCARRY/p/5462270.html

一年级下册计算机教学计划,【实用】一年级下册教学计划4篇

【实用】一年级下册教学计划4篇光阴迅速,一眨眼就过去了,我们的教学工作又将抒写新的篇章,写好教学计划才不会让我们努力的时候迷失方向哦。相信大家又在为写教学计划犯愁了吧,下面是小编精心整理的一年级下册教学计划4篇&#xf…

Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters

阅读笔记 概述: 本文同样发表于2012年。提出了一种称为离散化数据流(Discretized Streams,D-Streams)的编程模型。该模型提供了一种高级函数式API,具有高度的一致性和强大的容错能力。基于Spark分布式计算框架,进行扩展实现了一个D-Stream的原…

复习计划

算法 贪心 二分 模拟 倍增 排序 sort 归并排序 插入排序 最短路 SPFA Djistra Floyd 最小生成树 kruskal prim 拓扑排序 tarjan 二分图 树的直径、树的重心 dfs序 hash 数据结构 栈 队列 单调队列 单调栈https://www.luogu.org/problem/show?pid2659 并查集 线段树 树状数组 二…

计算机应用基础分析与报告,y计算机应用基础出题分析报告.doc

y计算机应用基础出题分析报告计算机应用基础出题分析报告本次计算机应用基础抽考试题按照2011年甘肃省三校生高考考试标准,重在考查学生对windows xp和office办公软件基本概念、基本操作的掌握情况。以充分体现基础理论和实践操作相结合为主,深入浅出地将…

mysql left join join right

create table java (name varchar(255)); insert into java values (java1),(java2),(blue); create table mysql (name varchar(255)); insert into mysql values (mysql1),(mysql2),(blue); 1.join 查询 内联查询 查两个表的内才联系相同的值select * from java join mysql a…

PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

原文:http://www.cnblogs.com/yelaiju/archive/2013/04/26/3044828.html由于PDM 的表中 Name 会默认Code 所以很不方便, 所以需要将 StereoType 显示到表的外面来 打开[工具]->[显示属性](英文:Display Preferences) ->Content->Table->右边面板Columns…

成都计算机中心起名,成都给宝宝起名的地方哪里好

成都给宝宝起名的地方哪里好2018-09-21每一个人都拥有一个好听大气的名字,名字作为一个人的标识,是人与人交流的代号,因此有一个好听寓意大气的名字是很关键的,名字毕竟关乎着对他人的第一印象,所以在起名字方面父母们…

20150206--JS巩固与加强4-02

20150206--JS巩固与加强4-02 五、属性遍历与删除 1、使用for…in…遍历自定义对象属性 基本语法: for…in…(主要是完成对对象的遍历) 示例代码: 运行效果: 说明:在17行代码,不能使用p1.i形式进行自定义对象…

Python安装scikit-learn包

我先是按照网上说的下载了个setuptools,然后直接用这个工具去安装,可是安装scikit-learn包的时候确老是有错误,也不知道错误是啥,所以就不用setuptools来安装了。 我直接下载了scikit-learn包的安装包,直接安装就好了,…

如何计算机械人工作量,修订后太原理工大学本科教学工作量计算办法

太原理工大学教师本科教学工作量计算办法(修订)高等学校实行工作量考核制度是进行教学管理改革的一项重要措施。实践证明,教学工作量考核的实行,有利于稳定教学秩序、提高教学质量,有利于加强师资队伍的建设与管理,有利于保证教学…

面向对象课程 - T-shirt

拿到了一件谜一样的T-shirt 吓得我赶紧捏了下hbb 转载于:https://www.cnblogs.com/andwho/p/5465165.html

java问题

Collection 和 Collections的区别? Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 你所知道的集合类都有哪些&a…

javascript学习代码

点击改变p和div元素&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <m…

状态开关(ToggleButton)

状态开关&#xff08;ToggleButton&#xff09;&#xff1a; 常用属性&#xff1a;isChecked&#xff08;是否被选中&#xff0c;如true&#xff09; 监听&#xff1a;1.监听方法&#xff1a;setOnCheckedChangeListener 2.监听器&#xff1a;CompoundButton.OnCheckedChangeLi…

搭建一个基于http的yum服务器

基于http的yum服务器在集群中搭建一个基于HTTP的yum服务器&#xff0c;不仅安装速度变快了许多&#xff0c;还能扩展自己定制的rpm包放入yum服务器中&#xff0c;其他服务器只需要正常使用yum install即可批量安装统一经过定制的rpm包。这篇文章对习惯使用yum的人来说&#xff…

优迈系统服务器初始化,优迈系统手机操作器服务器操作使用说明.pptx

优迈西奥手机操作器说明服务器无法连接当数据线连接后如图显示&#xff0c;表示APP功能权限已授权。若无法显示菜单有以下几种情况&#xff1a;1、手机USB 未设置调试状态2、数据线有问题3、转接头问题正常连接两个红灯都亮服务器无法连接点击右上角设置菜单&#xff0c;子菜单…

冲刺第二阶段

转载于:https://www.cnblogs.com/lixin20/p/4549338.html

微信消息推送服务器吗,消息推送

# 消息推送接入微信小程序消息推送服务&#xff0c;可以两种方式选择其一&#xff1a;# 开发者服务器接收消息推送开发者需要按照如下步骤完成&#xff1a; 填写服务器配置验证服务器地址的有效性据接口文档实现业务逻辑&#xff0c;接收消息和事件# 第一步&#xff1a;填写服务…

MVC与WebApi中的异常过滤器

一、MVC的异常过滤器 1、自定义MVC异常过滤器创建一个类&#xff0c;继承HandleErrorAttribute即可&#xff0c;如果不需要作为特性使用直接实现IExceptionFilter接口即可&#xff0c;注意&#xff0c;该接口在System.Web.Mvc 命名空间下/// <summary> /// 自定义的MVC异…