资讯动态

Docker入门与实战——访问Docker仓库

发布时间:2026/10/9 5:41:48 来源:尧图企业网站定制
访问Docker仓库1、Docker Hub公共镜像市场1.1、登录1.2、基本操作1.3、Docker Hub网站常用操作1.4、自动构建2、搭建本地私有仓库2.1、使用registry镜像创建私有仓库2.2、管理私有仓库2.3、启用TLS仓库(repository)是用于集中存储镜像的地方分为公共仓库和私有仓库两种类型。有时读者可能会将仓库与注册服务器(registry)混淆。实际上注册服务器是托管仓库的具体服务器。一个注册服务器可以包含多个仓库而每个仓库下可以有多个镜像。从这个角度来看仓库可被视为一个特定的项目或目录。例如在仓库地址private-docker.com/ubuntu中private-docker.com是注册服务器地址而ubuntu是仓库名称。在本章中笔者将分别介绍如何使用Docker Hub官方仓库进行登录、下载等基本操作以及如何创建和使用私有仓库。1、Docker Hub公共镜像市场Docker Hub是Docker官方提供的最大的公共镜像仓库目前包括了数百万个镜像地址为https://hub.docker.com。大部分应用镜像都可以在Docker Hub中找到如图所示。1.1、登录可以通过命令行执行docker login命令来输入用户名、密码和邮箱来完成注册和登录。注册成功后本地用户目录下会自动创建.docker/config.json文件以保存用户的认证信息。登录成功的用户可以上传个人制造的镜像到Docker Hub。1.2、基本操作用户无须登录即可通过docker search命令查找官方仓库中的镜像并利用docker[image]pull命令将它下载到本地。例如以alpine为关键词进行搜索根据是否由官方提供镜像资源可分为两大类第一类是官方镜像如alpine。这些镜像由Docker公司创建、验证、支持并提供。通常这类镜像的名称简洁不带用户名前缀。第二类是非官方用户创建的镜像例如grafana/alpine。这类镜像由Docker用户如grafana创建并维护镜像名称以用户名作为前缀表示该镜像属于某个用户的仓库。要使用特定用户提供的镜像可通过“用户名/镜像名”的形式指定。下载官方alpine镜像到本地如下所示用户也可以在登录后通过docker push命令将本地镜像推送到Docker Hub。1.3、Docker Hub网站常用操作Docker Hub网站上拥有大部分常见热门开源软件的镜像从这里可以下载其他人制作好的镜像。(1)使用搜索和过滤工具搜寻镜像用户可以通过关键字搜索镜像市场或使用左侧的过滤工具选择过滤条件如图所示。可使用的过滤条件有Products产品​包括镜像、扩展、插件。Trusted Content信任内容​包括Docker官方镜像、经过认证的发布者、Docker赞助的项目。Operating Systems操作系统​包括Linux、Windows等。Architectures芯片构架​包括ARM、ARM64、IBMPower、IBM Z、PowerPC 64LE、X86、X86-64等。在生产环境中使用镜像时建议选择Docker官方镜像。同时也推荐将Docker官方镜像作为自制镜像的基础镜像。当需要为特定芯片架构选择镜像时可以筛选相应的架构以找到合适的镜像。例如许多针对X86-64的镜像无法在ARM架构上运行此时可以选择ARM64架构的镜像。(2)查看镜像基本信息和使用方法下载完镜像之后读者可能会遇到以下几个问题如何使用这个镜像镜像内运行了哪些服务镜像对外发布了哪些端口镜像的作者推荐如何使用它镜像是如何构建的读者可以在镜像的主页上找到以上问题的相关信息。如图所示在Overview部分将看到镜像的基本信息。对于Docker官方镜像这里通常会展示软件的官方网站、镜像的制作者以及镜像的使用方法包括运行参数、变量、更新方式等​。最重要的是这里通常会展示创建该镜像的Dockerfile。可以通过单击Dockerfile链接查看镜像的构建过程。Tags标签页将展示当前镜像有哪些可用的镜像标签。在生产环境中建议选用稳定版的镜像如图所示。读者可以在这里选择一个合适的镜像标签。如果选择了Nginx镜像的stable-perl标签那么将使用下面的命令下载镜像1.4、自动构建自动构建(automated build)是Docker Hub提供的一项自动化服务该功能可根据项目代码的变更自动重新构建镜像。例如当用户为某应用构建镜像后如果应用发布了新版本用户通常需要手动更新镜像。然而自动构建功能允许用户通过Docker Hub指定跟踪目标网站目前支持GitHub和BitBucket上的项目。一旦项目有新的提交Docker Hub将自动执行构建。要配置自动构建需要执行如下步骤1)登录Docker Hub及目标网站如GitHub。2)在目标网站中支持Docker Hub访问服务。3)在Docker Hub中配置一个“自动构建类型”的项目。4)选取一个目标网站中的项目需要含Dockerfile和分支。5)指定Dockerfile的位置并提交创建。之后可以在Docker Hub的自动构建页面中跟踪每次构建的状态。2、搭建本地私有仓库2.1、使用registry镜像创建私有仓库读者可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境。registry是由Docker官方提供的一个开源工具用于实现容器分发项目地址为https://github.com/distribution/distribution。首先通过如下命令下载并启动一个registry容器以创建本地的私有仓库服务默认情况下仓库会被创建在容器的/var/lib/registry目录下。读者可以通过-v参数将镜像文件存放在本地的指定路径。例如将上传的镜像放到/opt/data/registry目录此时在本地将启动一个私有仓库服务监听端口为5000。2.2、管理私有仓库通过上面的操作已经搭建好了私有仓库。下面演示如何上传和下载镜像。首先在私有仓库所在主机查看本地镜像使用docker tag命令将这个镜像标记为localhost:5000/test格式为docker tagIMAGE[:TAG]​[REGISTRYHOST/]​[USERNAME/]NAME[:TAG]​​如下所示使用docker push命令上传标记的镜像2.3、启用TLS为了提高安全性还可以对仓库启用TLS功能。首先读者需要获取一份SSL证书。可以选择从权威证书颁发机构(CA)购买证书或使用如下命令生成自签名证书创建好证书后在启动Docker Registry容器时需要将证书文件映射到容器中。同时指定REGISTRY_HTTP_TLS_CERTIFICATE和REGISTRY_HTTP_TLS_KEY环境变量来启用TLS如下所示此时仓库启用了TLS在客户端对其进行访问时可以通过证书来进行认证确保访问的仓库为正确仓库。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑