docker desktop ubuntu镜像_「Docker」 - 镜像仓库
一、镜像仓库
将Docker镜像和Git进行对比,镜像仓库类似GitHub、GitLab等托管平台,Docker的镜像仓库托管的不是代码项目,而是镜像。
Docker镜像仓库最大的作用是实现了Docker镜像的分发。借助镜像仓库,得到了一个镜像的中转站,可以将开发环境上所使用的镜像推送至镜像仓库,并在测试或生产环境上拉取到它们,而这个过程仅需要几个命令,甚至自动化完成。
Docker另一项重要的功能是将镜像管理纳入到了功能之中,实现虚拟化只是程序能够无缝移植的一部分,而有了镜像管理,就真正取代了移植过程中的繁琐操作。利用Docker的镜像管理功能,可以很方便的通过网络传输和分享镜像,并保障镜像内容的一致性。
A、获取镜像
可以通过很多方式将镜像引入Docker之中,但最常用的获取镜像的方式是直接从镜像仓库中拉取,因为这种方式简单、快速、有保障。
可以使用docker pull命令拉取镜像,命令的参数就是镜像仓库名。
# 拉取镜像
docker pull ubuntuUsing default tag: latest
latest: Pulling from library/ubuntu
6cf436f81810: Pull complete
987088a85b96: Pull complete
b4624b3efe06: Pull complete
d42beb8ded59: Pull complete
Digest: sha256:7a47ccc3bbe8a451b500d2b53104868b46d60ee8f5b35a24b41a86077c650210
Status: Downloaded newer image for ubuntu:latest# 查看本地镜像
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 47b19964fb50 12 days ago 88.1MB
运行命令后,Docker就会开始从镜像仓库中拉取指定的镜像,在控制台中,可以看到镜像拉取的进度。下载进度会分为几行,每行代表一个镜像层。Docker首先会拉取镜像所基于的所有镜像层,之后再单独拉取每一个镜像层并组合成这个镜像。如果在本地已经存在相同的镜像层(共享于其他的镜像),Docker就直接略过这个镜像层的拉取而直接采用本地的内容。
当没有提供镜像标签时,Docker会默认使用latest这个标签,也能够使用完整的镜像命名来拉取镜像。
二、Docker Hub
Docker Hub是Docker官方建立的中央镜像仓库,除了普通镜像仓库的功能外,它内部还有更加细致的权限管理,支持构建钩子和自动构建,以及优雅的web操作页面。
Docker Hub的定位是Docker的中央镜像仓库系统,同时也是Docker Engine的默认镜像仓库,所以使用Docker Hub是开发者共享镜像的首选,常用服务软件的镜像都能在Docker Hub中找到,甚至能找到针对它们不同用法的不同镜像。
同时,Docker Hub也允许用户上传镜像,与Docker用户共享成果。
A、搜索镜像
由于Docker Hub提供了一套完整的web操作界面,搜索其中的镜像会非常方便。
除了直接通过Docker Hub网站搜索镜像这种方式外,还可以用docker CLI中docker search这个命令搜索Docker Hub中的镜像。
docker search ubuntuNAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 9198 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 270 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 201 [OK]
使用docker search命令,可以得到一个类似于Docker Hub网页版搜索的镜像列表结果,其中的信息与网页版也是类似的。通过这种方式可以在不方便访问web的环境下搜索镜像。
三、管理镜像
docker images可以列出本地 Docker 中的所有镜像,如果要获得镜像更详细的信息,可以通过docker inspect命令。
A、参数识别
不论通过镜像名还是镜像ID传递到docker inspect或者其他类似的命令(需要指定Docker对象的命令)里,Docker都会根据传入的内容去寻找与之匹配的内容,只要所给出的内容能够找出唯一的镜像,那么Docker就会对这个镜像执行给定的操作。反之,如果找不到唯一的镜像,那么操作不会进行,Docker也会显示错误。
例如:
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
php 7-fpm f214b5c48a25 11 days ago 368MB
ubuntu latest cd6d8154f1e1 13 days ago 84.1MB
redis 3.2 2fef532eadb3 13 days ago 76MB
redis 4.0 e1a73233e3be 13 days ago 83.4MB
openresty/openresty 1.13.6.2-alpine 08d5c926e4b6 3 months ago 49.3MB
cogset/cron latest c01d5ac6fc8a 16 months ago 125MB
镜像ID前缀为2的只有redis:3.2,可以使用2来指代这个镜像。
docker inspect 2
而前缀为c的镜像有两个,这时候如果直接使用c来指代镜像的话,Docker会提示未能匹配到镜像。
B、删除镜像
虽然Docker镜像占用的空间比较小,但日渐冗杂的镜像和凌乱的镜像版本会让管理越来越困难,所以有时候需要清理一些无用的镜像,将它们从本地的Docker Engine中移除。
# 删除本地镜像
docker rmi ubuntuUntagged: ubuntu:latest
Untagged: ubuntu@sha256:7a47ccc3bbe8a451b500d2b53104868b46d60ee8f5b35a24b41a86077c650210
Deleted: sha256:47b19964fb500f3158ae57f20d16d8784cc4af37c52c49d3b4f5bc5eede49541
Deleted: sha256:d4c69838355b876cd3eb0d92b4ef27b1839f5b094a4eb1ad2a1d747dd5d6088f
Deleted: sha256:1c29a32189d8f2738d0d99378dc0912c9f9d289b52fb698bdd6c1c8cd7a33727
Deleted: sha256:d801a12f6af7beff367268f99607376584d8b2da656dcd8656973b7ad9779ab4
Deleted: sha256:bebe7ce6215aee349bee5d67222abeb5c5a834bbeaa2f2f5d05363d9fd68db41
删除镜像的过程实际是删除镜像内的镜像层,在命令打印的结果里,可以看到被删除的镜像层以及它们的ID。如果存在两个镜像共用一个镜像层的情况,也不需要担心Docker会删除被共享的那部分镜像层,只有当镜像层只被当前被删除的镜像所引用时,Docker才会将它们从硬盘空间中移除。
docker rmi命令也支持同时删除多个镜像,只需要通过空格传递多个镜像ID或镜像名即可。
参考:
http://blog.poetries.top/2018/11/20/docker-base/
docker desktop ubuntu镜像_「Docker」 - 镜像仓库相关推荐
- centos7 怎么封装自己的镜像_「10」-CentOS7.5(1804)
终于也是到了虚拟机的安装了,vm虚拟机的安装和介绍就不多说了今天的重点是Cent0S7.5 有人就会问了,为什么不是6.5或其他的6的版本呢? 是这样的,本人最近购买了一个云服务器,看到上面的选项中确 ...
- 如何使用docker desktop 下载x86、amd64、arm64 镜像?
如何使用docker desktop 下载x86.amd64.arm64 镜像? 环境 修改配置 重启docker后下载镜像 验证镜像架构 环境 修改配置 官网地址,开启 Docker CLI 的实验 ...
- Docker Desktop 如何运行第一个 Docker 项目
Docker Desktop 安装后的界面是这样的. 你可能会有点困惑,如何运行第一个 Docker 项目. 其实上面的界面中已经告诉你运行的命令行工具了: docker run -d -p 80:8 ...
- docker php composer 使用_「PHP编程」如何使用Docker制作自己的LNMP/LAMP镜像
LNMP和LAMP是PHP常用的两种运行环境,L代表Linux,N代表Nginx,A代表Apache,M代表Mysql,P代表PHP.在文章<「PHP编程」安装开发环境太烦?告诉你几个简单方法, ...
- docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- docker desktop ubuntu镜像_资深专家都知道的顶级 Docker 命令!
开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...
- docker 容器运行 golang程序_「Docker」 - 运行 amp; 管理容器
容器是基于容器技术所建立和运行的轻量级应用运行环境,它是Docker封装和管理应用程序或微服务的「集装箱」,在Docker中,容器是最核心的部分. 一.容器的创建和启动 Docker容器的生命周期里分 ...
- python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...
原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...
- python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...
原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17) Appium是一个开 ...
最新文章
- IOS设计模式学习(1)设计模式初窥
- 全网唯一的Microsoft?NETFramework3?5SP1简体中文完整版离线安装包安装netframewo
- android 如何将WPS文档转成PDF
- VisualGDB for Linux 安装配置
- 读书笔记:《亮剑 .Net》——将类转化为XML并保存已经去读后反序列化为类对象...
- 华为鸿蒙麒麟玉兔_华为P50Pro概念图:1亿像素+麒麟9000+鸿蒙
- MFC函数——CWnd::OnCreate
- Egret中的三种单例写法
- 每日一句20191229
- 2018-3-28 摩尔定律
- [答疑]能举一个人取代业务实体的例子吗
- SEO内链优化,网站内部链接优化方法
- 编写TaskMgr.exe的时候学习的知识点
- matlab中complex的详细用法,Matlab基本函数-complex函数
- 跳转gridview
- mysql已启动但无法连接_MySQL无法正常启动,Navicat连接出错,解决2003问题
- ctrl键频繁失灵,但不是键盘本身的问题,换个键盘同样失灵
- 自从玩了我自己创造的这个c++游戏后,总感觉一分钟好长(火龙征战V1.0.1)
- 不洁尸体的“诅咒”:靠死者的馈赠长高,却换来了另一种怪病
- 【20180808】集训题d3
热门文章
- .NET分层登陆——机房收费系统再总结
- leetCode 50.Pow(x, n) (x的n次方) 解题思路和方法
- 【Java虚拟机的垃圾收集算法】
- Kaneboy:临时启事:寻找在北京,熟悉SPS、ASP.NET,有两周空闲时间的朋友
- #1300 : 展胜地的鲤鱼旗(dp)
- K8s之ControllerRateLimiter简单理解
- 委托 匿名类 var隐式类型 匿名方法
- 个人JS体系整理(二)
- List去重为什么要写equals(),hashCode()方法
- java基础知识-对象和类