如何查看dockerhub的所有镜像

author author     2023-05-10     463

关键词:

参考技术A 让我们通过进一步学习Docker镜像来继续我们的Docker之旅。Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导文件系统有什么交互。实际上,当一个容器启动后,它将会被移到内存中,而引导文件系统则会被卸载(unmount),以留出更多的内存供initrd磁盘镜像使用。
到目前为止,Docker看起来还很像一个典型的Linux虚拟化栈。实际上,Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如Debian或者Ubuntu文件系统)。
在传统的Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并完成了完整性检查之后,它才会被切换为读写模式。但是在Docker里,root文件系统永远只能是只读状态,并且Docker利用联合加载(union mount)技术又会在root文件系统层上加载更多的只读文件系统。联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。
Docker将这样的文件系统称为镜像。一个镜像可以放到另一个镜像的顶部。位于下面的镜像称为父镜像(parent image),可以依次类推,直到镜像栈的最底部,最底部的镜像称为基础镜像(base image)。最后,当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统。我们想在Docker中运行的程序就是在这个读写层中执行的。
这听上去有点儿令人迷惑,我们最好还是用一张图来表示一下,如图4-1所示。

图4-1 Docker文件系统层
当Docker第一次启动一个容器时,初始的读写层是空的。当文件系统发生变化时,这些变化都会应用到这一层上。比如,如果想修改一个文件,这个文件首先会从该读写层下面的只读层复制到该读写层。该文件的只读版本依然存在,但是已经被读写层中的该文件副本所隐藏。
通常这种机制被称为写时复制(copy on write),这也是使Docker如此强大的技术之一。每个只读镜像层都是只读的,并且以后永远不会变化。当创建一个新容器时,Docker会构建出一个镜像栈,并在栈的最顶端添加一个读写层。这个读写层再加上其下面的镜像层以及一些配置数据,就构成了一个容器。在上一章我们已经知道,容器是可以修改的,它们都有自己的状态,并且是可以启动和停止的。容器的这种特点加上镜像分层框架(image-layering framework),使我们可以快速构建镜像并运行包含我们自己的应用程序和服务的容器。
创建Docker Hub账号
构建镜像中很重要的一环就是如何共享和发布镜像。可以将镜像推送到Docker Hub或者用户自己的私有Registry中。为了完成这项工作,需要在Docker Hub上创建一个账号,可以从https://hub.docker.com/account/signup/加入Docker Hub,如图4-3所示。

图4-3 创建Docker Hub账号
首先需要注册一个账号,并在注册之后通过收到的确认邮件进行激活。
下面就可以测试刚才注册的账号是否能正常工作了。要登录到Docker Hub,可以使用docker login命令,如代码清单4-13所示。
代码清单4-13 登录到Docker Hub
$ sudo docker login
Username: jamtur01
Password:
Email: james@lovedthanlost.net
Login Succeeded

这条命令将会完成登录到Docker Hub的工作,并将认证信息保存起来以供后面使用。

注意

你的个人认证信息将会保存到$HOME/.dockercfg文件中。
将镜像推送到Docker Hub
镜像构建完毕之后,我们也可以将它上传到Docker Hub上面去,这样其他人就能使用这个镜像了。比如,我们可以在组织内共享这个镜像,或者完全公开这个镜像。

注意

Docker Hub也提供了对私有仓库的支持,这是一个需要付费的功能,你可以将镜像存储到私有仓库中,这样只有你或者任何与你共享这个私有仓库的人才能访问该镜像。这样你就可以将机密信息或者代码放到私有镜像中,不必担心被公开访问了。
我们可以通过docker push命令将镜像推送到Docker Hub。
现在就让我们来试一试如何推送,如代码清单4-77所示。
代码清单4-77 尝试推送root镜像
$ sudo docker push static_web
2013/07/01 18:34:47 Impossible to push a "root" repository.
Please rename your repository in <user>/<repo> (ex: jamtur01/
static_web)

出什么问题了?我们尝试将镜像推送到远程仓库static_web,但是Docker认为这是一个root仓库。root仓库是由Docker公司的团队管理的,因此会拒绝我们的推送请求。让我们再换一种方式试一下,如代码清单4-78所示。
或者如果原来已经存在settings.xml文件了,

docker如何把镜像上传到dockerhub

1首先你得准备一个hub的帐号,去https://hub.docker.com 注册吧!2在hub那里新建一个仓库,这个就类似于github那边的..create--->createrepository(创建知识库)然后随便搞个名字,我这里就叫ubuntu吧所以路径就是wherein/ubuntu了3运行dockerps查看容... 查看详情

docker生成镜像上传到dockerhub(代码片段)

在dockerhub注册一个账号然后在服务器登陆docker账号dokerlogin运行命令查看容器dockerps-a选择一个你要生成镜像的容器IDdockercommit容器ID生成的镜像名字运行命令查看生成的镜像dockerimages修改镜像repositorydockertag镜像名或IDdockerHub用户名... 查看详情

dockerhub使用初探

DockerHub 使用初探—— 魏刘宏2019.10.26容器的话题越来越热,今天我也来试试容器的使用,我们以DockerHub为例。DockerHub官网为 https://hub.docker.com/ ,主要用于托管容器镜像,我们以Linux系统 centos 为例:&n... 查看详情

如何将自己的镜像上传到dockerhub上面

1.首先需要拥有自己的Dockerhub账号2.使用Dockerhub账号在验证本地登录#dockerlogin输入用户名和密码3.先dockerimages看看本地的镜像#dockerimages如果REPOITORY的名不是你Dockerhub账号和仓库,即DockerID/仓库名,是上传不成功的使用dockertag镜像ID... 查看详情

从dockerhub拉取nbi可视化产品镜像

...dashboard/nbiplatform:latest(2)运行镜像:sudodockerrun--namenbifordockerhub-d-p5000:80nbidashboard/nbiplatform:latest(3)查看是否正常启动:sudodockerps-a(4)ok,成功运行,试试项目是否能正常打开centos系统拉取镜像演示:(1)拉取镜像:sudodockerp... 查看详情

docker教程-9-构建镜像并上传到dockerhub仓库(代码片段)

目录1、基于已有镜像构建镜像并上传到DockerHub1.1更改已安装的镜像容器1.2 基于上述容器重新创建镜像1.3上传镜像到DockerHub仓库2、使用Dockerfile构建JDK+tomcat镜像2.1 准备好jdk和tomcat安装包等文件2.2 编写Dockerfile文件2.3 设置Dock... 查看详情

docker教程-8-dockerhub仓库及私有仓库的使用(代码片段)

目录1、DockerHub镜像仓库的使用1.1注册账号并登录1.2创建一个公开/私有仓库1.3 在命令行中登录/退出DockerHub1.4 对本地镜像打tag编号1.5 将镜像推送到DockerHub的Registry1.6 从DockerHub下载镜像到本地2、私有仓库的搭建和使用2.1使用dock... 查看详情

如何push一个docker镜像到dockerhub上

...cker镜像,又不想自己搭建dockerregistry,那么就可以了借用DockerHub来用,一般不会有多少人在意你的镜像,不过万一被人看上了呢,这谁说的准呢,废话不多说,下面来看看操刀记录在DockerHub上创建账号:https://hub.docker.com/这里我... 查看详情

docker实践:dockerhub(镜像分发自动化构建)(代码片段)

一、DockerHub简介DockerHub的网址是https://hub.docker.com,提供的是镜像托管服务,它与GitHub类似,利用DockerHub,我们可以搜索、创建、分享和管理镜像,还可以利用其提供的自动化构建技术直接在集群云服务器上构建镜... 查看详情

docker实践:dockerhub(镜像分发自动化构建)(代码片段)

一、DockerHub简介DockerHub的网址是https://hub.docker.com,提供的是镜像托管服务,它与GitHub类似,利用DockerHub,我们可以搜索、创建、分享和管理镜像,还可以利用其提供的自动化构建技术直接在集群云服务器上构建镜... 查看详情

docker教程-8-dockerhub仓库及私有仓库的使用(代码片段)

目录1、DockerHub镜像仓库的使用1.1注册账号并登录1.2创建一个公开/私有仓库1.3 在命令行中登录/退出DockerHub1.4 对本地镜像打tag编号1.5 将镜像推送到DockerHub的Registry1.6 从DockerHub下载镜像到本地2、私有仓库的搭建和使用2.1使用dock... 查看详情

docker获取一个centos镜像

搜索出dockerhub上所有带centos的公共的可用镜像dockersearchcentos下载最新的centos镜像docker?pull?centos查看镜像dockerimages列出imagesdockerimages-a列出所有的imagesdockerrmi<imageID>删除一个或多个image 查看详情

如何使用docker部署容器

...这两部分,你就准备好了。您部署的每个容器都将基于从DockerHub中提取的镜像。您可以下拉单个镜像并根据需要随时使用。DockerHub上还有许多镜像用于单个应用程序或平台。以NGINX为例。如果你在DockerHub上搜索NGINX,你会得到大... 查看详情

从dockerhub中拉取python镜像环境

Docker容器化安装Python、第三方包、制作镜像、内网部署1.Dockerhub拉取官方镜像首先,查看系统已有的镜像,输入如下命令:dockerimges从上图中可以看出,系统已有镜像并不包含Python(此处依据项目需求安装Python3.6)输入如下命令从官网拉... 查看详情

docker常用命令

...程度OFFICIAL:是否官方AUTOMATED:自动构建,表示该镜像由DockerHub自动构建流程创建的  3.1.3拉取镜像拉取镜像就是从中央仓库中下载镜像到本地dockerpull镜像名称例如,我要下载centos7镜像dockerpullcentos:7  3.1.4删除镜像按镜像ID... 查看详情

docker入门:dockerfile

 主要内容:什么是Dockerfile查看DockerHub中镜像的DockerfileDockerfile编写Dockerfile常用命令什么是Dockerfile使用Docker经常需要基于已经有的镜像去定制新的镜像,Dockerfile可以保存这种镜像定制的过程。编写好Dockerfile后,可以重复使... 查看详情

docker教程-9-构建镜像并上传到dockerhub仓库(代码片段)

目录1、基于已有镜像构建镜像并上传到DockerHub1.1更改已安装的镜像容器1.2 基于上述容器重新创建镜像1.3上传镜像到DockerHub仓库2、使用Dockerfile构建JDK+tomcat镜像2.1 准备好jdk和tomcat安装包等文件2.2 编写Dockerfile文件2.3 设置Dock... 查看详情

docker镜像相关的常用操作

...像#dockerrmi镜像iddockerrmi3eab5.查看所有镜像dockerimages6.登录dockerhub,然后推送到个人仓库#dockerlogin-u用户名dockerlogin-uzhoushiya#会弹出password,然后输入密码#推送到dockerhub#命令格式:dockerpushNAME[:TAG]dockerpushzhoushiya/zhiboyuan:latest   查看详情