长丰网站制作,乌克兰最新消息今天,wordpress粒子插件,让搜索引擎收录网站文章目录 前言#xff1a;公有仓库和私有仓库公共镜像仓库私有镜像仓库 一、搭建 Docker 镜像仓库1.1 搭建简化版的镜像仓库1.2 搭建带有图形化界面的镜像仓库1.3 配置 Docker 信任地址 二、向私有镜像仓库推送和拉取镜像2.1 推送本地镜像到私有仓库2.2 拉取私有仓库中的镜像 … 文章目录 前言公有仓库和私有仓库公共镜像仓库私有镜像仓库 一、搭建 Docker 镜像仓库1.1 搭建简化版的镜像仓库1.2 搭建带有图形化界面的镜像仓库1.3 配置 Docker 信任地址 二、向私有镜像仓库推送和拉取镜像2.1 推送本地镜像到私有仓库2.2 拉取私有仓库中的镜像 前言公有仓库和私有仓库
在 Docker 生态系统中镜像仓库Docker Registry扮演着关键的角色用于存储和分享 Docker 镜像。镜像仓库有公共的和私有的两种形式每种形式都有其特定的应用场景。
公共镜像仓库 Docker Hub Docker Hub 是 Docker 公共仓库是最大的 Docker 镜像仓库之一。它提供了大量的公共镜像供用户使用。你可以在 Docker Hub 上找到官方的基础镜像也可以找到其他用户分享的各种应用和工具的镜像。 国内云服务商提供的公共仓库 由于 Docker Hub 在国内访问速度较慢一些国内的云服务商提供了类似于 Docker Hub 的公开服务。例如网易云镜像服务、DaoCloud 镜像服务、阿里云镜像服务等都提供了稳定、快速的公共镜像仓库。
私有镜像仓库 为什么搭建私有镜像仓库 虽然公共仓库提供了大量的镜像供用户使用但在一些特定的场景下企业或个人可能希望搭建自己的私有 Docker Registry。主要原因包括 安全性 一些敏感的应用或数据不适合存储在公共仓库中因此需要一个受控的、私有的存储环境。 带宽控制 在一些特殊网络环境下使用公共仓库的下载速度可能不理想搭建私有仓库可以更好地控制镜像的拉取速度。 定制需求 企业可能有自己特殊的镜像需求需要在内部构建和管理特定版本的镜像。 Docker Registry Docker Registry 是 Docker 提供的官方仓库服务支持用户搭建自己的私有镜像仓库。你可以将 Docker Registry 部署在自己的服务器上并通过简单的配置来实现私有仓库的搭建。
搭建私有 Docker Registry 的详细步骤可以参考官方文档Docker Registry 部署。 私有 Docker Registry 在企业中的应用 在企业内部私有 Docker Registry 的应用非常广泛。它不仅为企业提供了更加安全和可控的镜像管理环境还支持企业内部的持续集成和持续部署流程。通过搭建私有仓库企业可以更好地管理和定制自己的镜像确保应用的稳定和安全运行。
总的来说选择使用公共仓库还是搭建私有仓库取决于具体的使用场景和需求。在实际应用中有时候也会采用公共仓库和私有仓库结合的方式根据实际需求灵活选择。
一、搭建 Docker 镜像仓库
在 Docker 生态系统中镜像仓库Docker Registry用于存储和管理 Docker 镜像。你可以选择使用公共仓库比如 Docker Hub也可以搭建私有的 Docker Registry方便自己团队或组织内部使用。
官网地址https://hub.docker.com/_/registry。
1.1 搭建简化版的镜像仓库
Docker 官方提供了一个简化版的 Docker Registry 镜像具备完整的仓库管理功能但缺乏图形化界面。下面是一个简单的搭建命令
docker run -d \--restartalways \--name registry \-p 5000:5000 \-v registry-data:/var/lib/registry \registry这个命令中的参数说明
-d: 后台运行容器。--restartalways: 设置容器总是在 Docker 启动时重新启动。--name registry: 为容器指定一个名字这里是 registry。-p 5000:5000: 将主机的 5000 端口映射到容器的 5000 端口。-v registry-data:/var/lib/registry: 挂载数据卷 registry-data 到容器内的 /var/lib/registry 目录用于持久化存储镜像数据。registry: 使用的镜像名称。
通过上述命令就成功运行了一个 Docker Registry 服务。访问 http://主机IP:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像。
1.2 搭建带有图形化界面的镜像仓库
有一些第三方工具可以为 Docker Registry 提供图形化界面使得镜像的管理更加直观。一个常用的工具是 docker-registry-ui。通过 Docker Compose我们可以很容易地搭建一个带有图形化界面的 Docker Registry 服务。以下是一个简单的 docker-compose.yml 文件
version: 3.0
services:registry:image: registryvolumes:- ./registry-data:/var/lib/registryui:image: joxit/docker-registry-ui:staticports:- 8080:80environment:- REGISTRY_TITLE私有仓库- REGISTRY_URLhttp://registry:5000depends_on:- registry这个 docker-compose.yml 文件包括两个服务registry 和 ui。其中registry 使用官方 Docker Registry 镜像并挂载数据卷ui 使用 docker-registry-ui 镜像并配置了环境变量包括私有仓库的标题和地址。
1.3 配置 Docker 信任地址
因为私服采用的是 HTTP 协议默认不被 Docker 信任所以需要进行配置。编辑 Docker 守护进程配置文件
# 打开要修改的文件
vim /etc/docker/daemon.json添加如下内容
insecure-registries: [http://主机IP:8080]保存并退出。重载 Docker 守护进程配置并重启 Docker
systemctl daemon-reload
systemctl restart docker通过以上步骤就成功搭建了一个简化版的 Docker 镜像仓库并且还可以使用 Docker Compose 部署一个带有图形化界面的 Docker Registry。 然后通过浏览器访问http://主机IP:8080/就可以看到私有镜像查看的 UI 界面了。 二、向私有镜像仓库推送和拉取镜像
2.1 推送本地镜像到私有仓库
例如现在要把本地的镜像 nginx重新tag为 nginx:1.0注意名称前缀为私有仓库的地址192.168.150.101:8080/ 。
docker tag nginx:latest 192.168.211.128:8080/nginx:1.0
其含义是给本地镜像打上一个新标签使其适应私有仓库地址。 然后再把它推送到私有仓库
docker push 192.168.211.128:8080/nginx:1.0其含义是将标签过的镜像推送到私有仓库。 推送成功后就可以在私有仓库的图形化界面中看到相应的镜像。 2.2 拉取私有仓库中的镜像
拉取镜像是将远程仓库中的镜像下载到本地使用的过程。使用 Docker 命令可以很方便地从私有仓库中拉取镜像。 推送本地镜像到私有仓库的过程已经很详细了。接下来我们来看一下拉取镜像的步骤。
现在私有仓库中有一个镜像 nginx:1.0我们可以通过以下命令将其拉取到本地
docker pull 192.168.211.128:8080/nginx:1.0这个命令的含义是从指定的私有仓库地址拉取标签为 1.0 的 nginx 镜像。
拉取成功后就可以在本地使用这个镜像。
例如拉取私有仓库镜像的整个步骤 首先删除本地的nginx镜像 从私有仓库拉取镜像
可以直接在私有仓库的 UI 界面直接复制拉取镜像的命令 执行在终端中执行这个命令发现拉取成功了