Docker系列第03部分:列出镜像+搜索镜像+拉取镜像+删除镜像

1.什么是Docker镜像

Docker镜像是由文件系统叠加而成(是一种文件的存储形式)。最底端是一个文件引导系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker容器启动是需要的一些文件,而这些文件就可以称为Docker镜像。

2 Docker镜像操作

2.1 列出镜像

2.1.1 列出docker下的当前docker服务所在的系统里面所有镜像

docker images

REPOSITORY:镜像所在的仓库名称

TAG:镜像标签

IMAGE ID:镜像ID

CREATED:镜像的创建日期(不是获取该镜像的日期)

SIZE:镜像大小  这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

2.1.2 同一个仓库下的不同镜像

Docker提供了一种称为标签(Tag)的功能。每个镜像在列出来时都带有一个标签,例如12.10、12.04等等。每个标签对组成特定镜像的一些镜像层进行标记(比如,标签12.04就是对所有Ubuntu12.04镜像层的标记)。这种机制使得同一个仓库中可以存储多个镜像。

在运行同一个仓库中的不同镜像时,可以通过在仓库名后面加上一个冒号和标签名来指定该仓库中的某一具体的镜像,例如

docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash

表明从镜像Ubuntu:12.04启动一个容器,而这个镜像的操作系统就是Ubuntu:12.04。在构建容器时指定仓库的标签也是一个好习惯。  

2.3搜索镜像

如果需要从网络中查找需要的镜像,可以通过以下命令搜索:

# 搜索镜像:方式一:https://hub.docker.com/    点点点搜索方式二:docker search 镜像名字# # search作用:搜索Docker Hub(镜像仓库)上的镜像
# 命令格式:docker search [OPTIONS] TERM
# 命令参数(OPTIONS):-f,  --filter filter   	根据提供的格式筛选结果--format string   	利用Go语言的format格式化输出结果--limit int       	展示最大的结果数,默认25个--no-trunc        	内容全部显示#  命令演示
docker search -f is-offical=true tomcat
docker search tomcat

NAME:仓库名称

DESCRIPTION:镜像描述

STARS:用户评价,反应一个镜像的受欢迎程度

OFFICIAL:是否官方 ​

AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

2.4拉取镜像

2.4.1从Docker Hub拉取

Docker Hubhttps://hub.docker.com/

Docker镜像首页,包括官方镜像和其它公开镜像。Docker Hub上最受欢迎的10大镜像(通过Docker registry API获取不了镜像被pull的个数,只能通过镜像的stars数量,来衡量镜像的流行度。毫无疑问,拥有最高stars数量的库都是官方库)。

由于国情的原因,国内下载 Docker HUB 官方的相关镜像比较慢,可以使用国内(docker.io)的一些镜像加速器,镜像保持和官方一致,关键是速度块,推荐使用。

2.4.2 Mirror与Private Registry的区别

Private Registry(私有仓库):开发者或者企业自建的镜像存储库,通常用来保存企业内部的 Docker 镜像,用于内部开发流程和产品的发布、版本控制。

Mirror:代理中转服务,比如daocloud提供的Mirror服务,直接对接Docker Hub的官方Registry。Docker Hub 上有数以十万计的各类 Docker 镜像。 在使用Private Registry时,需要在Docker Pull 或Dockerfile中直接键入Private Registry 的地址,通常这样会导致与 Private Registry 的绑定,缺乏灵活性。

使用 Mirror 服务,只需要在 Docker 守护进程(Daemon)的配置文件中加入 Mirror 参数,即可在全局范围内透明的访问官方的 Docker Hub,避免了对 Dockerfile 镜像引用来源的修改。

2.4.3 拉取镜像

# 拉取指定版本
docker pull centos:7
# 拉取最新版本
docker pull centos

目前国内访问docker hub速度上有点尴尬,使用docker Mirror势在必行。现有国内提供docker镜像加速服务的商家有不少,下面重点ustc镜像。 2.4.4 

2.4.4 国内ustc镜像

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

Docker 镜像使用帮助 - LUG @ USTCDocker 镜像使用帮助https://lug.ustc.edu.cn/wiki/mirrors/help/docker 步骤:

(1)编辑该文件:vi /etc/docker/daemon.json PS: 如果该文件不存在就手动创建;另外有可能如果没有vim 命令则使用vi命令即可。

(2)在该文件中输入如下内容:

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}

 还有本地阿里云的镜像地址,速度更快

{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] 
}

 3)一定要重启docker服务,如果重启docker后无法加速,可以重新启动OS,然后通过docker pull命令下载镜像 。

service docker restart

2.4 查看镜像

# 查看机器上有哪些镜像
# 命令:docker images
# 解释:REPOSITORY  TAG   IMAGE ID   CREATED   SIZE
镜像名字    版本     id号     创建时间   大小

2.5 运行镜像 

# 命令:
docker run 镜像名字docker run hello-world# 例:
第一个hello-world(没有任何意义)docker run hello-world1 客户端连到服务端,服务下载了hello-world镜像2 通过镜像跑起容器来3 容器输出一些东西,通过服务端发送给客户端,客户端展示在窗口里了

2.6 删除镜像

删除镜像方式1:根据仓库的名称(镜像的名称)来删除 还可以使用image_id来进行删除。

# 命令:
docker rmi 镜像名字/Id号# 注意:
1.如果还有基于这个镜像的容器,是不允许删除镜像的
2.可以先删除容器,在删除镜像# 查询容器依赖	docker ps -a# 在删除要不允许的镜像docker rm 容器/id

 删除镜像方式2:

docker rmi `docker images -q`:删除所有镜像

2.7 镜像容器的实质

镜像容器是可以看作:-镜像就是一堆文件,这堆文件通过docker跑起来,就是容器,你现在就把他当成,一个操作系统内跑了这个软件(比如就是:centos+redis)-假设centos7的镜像跑起来,此时容器你就当成在你宿主机上跑了一个centos7的操作系统(虚拟机)

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

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

相关文章

RK方案 manifest.xml编译问题,并解决方案

编译出错 Install: out/target/product/rk3288/system/priv-app/TeleService/TeleService.apk Install: out/target/product/rk3288/system/priv-app/Telecom/Telecom.apk Install: out/target/product/rk3288/system/priv-app/TelephonyProvider/TelephonyProvider.apk …

c语言sort函数_C语言的那些经典程序 第八期

戳“在看”一起来充电吧!C语言的那些经典程序 第八期上期带大家欣赏的指针经典程序,感觉如何?这期我们准备了几个新指针的内容,灵活运用指针可以大大减少程序的复杂度,接下来就让小C来说说这三个有关指针应用的经典程序吧&#xf…

BJFU 质数相关

1 /*2 BJFU 质数相关3 http://101.200.220.237/contest/19/problem/116/4 二分图5 按质因数奇偶性建立二分图6 *7 *8 */9 #include <cstdio>10 #include <algorithm>11 #include <cstring>12 #include <cmath>13 #include <vector>14 #i…

Docker系列第04部分:查看容器+创建容器+启动容器+文件挂载+删除容器

1 容器的创建和启动 1.1 虚拟机的生命周期 1.2 容器的生命周期 2、容器操作 2.1 查看容器 查看正在运行容器&#xff1a; docker ps 查看所有的容器&#xff08;启动过的历史容器&#xff09; docker ps –a 查看最后一次运行的容器&#xff1a; docker ps -l 查看停止的容…

嵌入式软件面试(基础题)总结,不断更新

C/C/各种基础啊 1. static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1.限制变量的作用域 2.设置变量的存储域 2. 引用与指针有什么区别&#xff1f; 1) 引用必须被初始化&#xff0c;指针不必。 2) 引用初始化以后不能被改变&#xff0c;指针可以改…

java程序设计及实践实践代码_杭+新闻:姚争为老师把程序设计讲“活”了,满是代码的枯燥课程被学生“秒杀”...

通讯员 陈鑫 杨鹏飞记者 方秀芬作为专业选修课&#xff0c;Java程序设计和Web程序设计&#xff0c;这两门满是代码的课程&#xff0c;看似很枯燥&#xff0c;但在杭师大信息科学与工程学院却爆红&#xff0c;每学期都遭“秒杀”&#xff0c;以前线下课&#xff0c;提前20分钟准…

Docker系列第05部分:实战部署应用全流程

1 MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像&#xff1a; 1.2创建MySQL容器 docker run -di --namepinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql:5.7 # -p 代表端口映射&#xff0c;格式为 宿主机映射端口:容器运行端口 # -e 代表添加…

SQL-ALTER-change和modify区别

ALTER 对于列的应用&#xff1a;1.更改列名格式&#xff1a;CHANGE old_col_name new_col_name column_definition保留old和new列名列名&#xff1a;a ---->b 列类型ALTER TABLE t1 CHANGE a b INTEGER;2.更改列类型&#xff0c;不改列名保留old和new的列名&#xff0c;即使…

Vim安装插件在命令行下看代码

这几天我又想抛弃source insight 了&#xff0c;主要是太慢了 安装如下 VIM万能插件 或者使用 sudo apt-get installexuberant-ctags 安装 我主要是使用函数跳转功能&#xff0c;需要记住几个指令 1、生成tags用来实现函数跳转 这样会生成一个tags文件&#xff0c;作为跳…

Docker系列第06部分:备份与迁移+dockerfile

1 备份与迁移 1.1 容器保存为镜像 docker commit pinyougou_nginx mynginx# pinyougou_nginx是容器名称 # mynginx是新的镜像名称 # 此镜像的内容就是你当前容器的内容&#xff0c;接下来你可以用此镜像再次运行新的容器1.2 镜像备份 docker save -o mynginx.tar mynginx #…

流浪地球开机动画包zip_影视日报|合家欢动画电影quot;许愿神龙quot;定档1.15;流浪地球加长版定档11.26...

1、合家欢动画电影"许愿神龙"定档1.15动画电影《许愿神龙》正式定档2021年1月15日&#xff0c;并发布定档海报。2、白客等万万兄弟助力易小星"沐浴之王"由易小星执导&#xff0c;彭昱畅、乔杉领衔主演&#xff0c;卜冠今、苇青主演&#xff0c;金世佳友情出…

Git 分布式版本控制工具01:Git介绍+下载+安装

1. 前言 1.1 什么是Git Git 是一个分布式版本控制工具&#xff0c;通过Git 仓库来存储和管理源代码文件文件。 在IDEA开发工具中可以集成Git&#xff1a; 集成后在IDEA中可以看到Git相关图标&#xff1a; 可以通过启动两个IDEA窗口模拟两个开发人员来展示Git的使用&#xf…

无法解析的外部符号,无法解析的外部命令

1.这个是因为有相关的lib包没有被引用进去 解决办法&#xff1a; 1. 2. 转载于:https://www.cnblogs.com/hcfan/p/6638980.html

Android Adb 源码分析

扭起屁股得意洋洋 最近&#xff0c;我负责的项目因为临近量产&#xff0c;把之前的userdebug版本关闭&#xff0c;转成了user版本&#xff0c;增加selinux的权限&#xff0c;大家都洋溢在项目准备量产的兴奋和喜悦之中不能自拔 谁知&#xff0c;好景不长&#xff0c;user版本…

kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr

前文《KVM 虚拟化环境搭建 - ProxmoxVE》已经给大家介绍了开箱即用的 PVE 系统&#xff0c;PVE 是方便&#xff0c;但还是有几点问题&#xff1a;第一&#xff1a;始终是商用软件&#xff0c;虽然可以免费用&#xff0c;但未来版本还免费么&#xff1f;商用的法律风险呢&#x…

Git 分布式版本控制工具02:Git代码托管服务列表与使用

1常用的Git代码托管服务 Git中存在两种类型的仓库&#xff0c;即本地仓库和远程仓库。 Git远程仓库中比较常用的有GitHub、码云、GitLab等。 名称网址说明gitHubGitHub: Where the world builds software GitHub一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持…

Android系统root破解原理分析

上一篇文章 Android adb 源码分析 理论基础 root破解过程的终极目标是替换掉系统中的su程序。但是要想替换掉系统中su程序本身就是需要root权限的&#xff0c;怎样在root破解过程中获得root权限&#xff0c;成为我们研究的重点了。下面我们先清点一下我们需要破解系统情况&a…

常见字母缩写

1、ODBC&#xff1a;Open Database Connectivity&#xff0c;开放数据库连接&#xff1b; 2、TCP&#xff1a;Transport Control Protocol&#xff0c;传输控制协议&#xff1b; 3、URL&#xff1a;统一资源定位器&#xff1b; 4、HTTP&#xff1a;Hypertext Transfer Protoco…

基于Springboot外卖系统19:用户地址+默认收货地址

1. 用户地址簿功能 1.1 需求分析 地址簿&#xff0c;指的是移动端消费者用户的地址信息&#xff0c;用户登录成功后可以维护自己的地址信息。 同一个用户可以有多个地址信息&#xff0c;但是只能有一个默认地址。 对于地址簿管理&#xff0c;我们需要实现以下几个功能&#…

python获取返回值_python 调用 shell ,获取返回值和返回信息

网络上有各种方案解决python调用shell的解决方案&#xff0c;但是没有一个完美的&#xff0c;以下是本人整理的一个方案&#xff0c;比较完美地解决了同时解决获取返回值和返回信息。 def run_linux_cmd_quiet(i_cmd, i_nohup0): l_func_name__name__ . sys._getframe().f_cod…