news 2026/1/14 8:51:55

Docker实战:创建和使用Docker私有仓库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker实战:创建和使用Docker私有仓库

文章目录

  • 1. 实战概述
  • 2. 实战步骤
    • 2.1 创建Docker私有仓库
      • 2.1.1 获取并查看registry镜像
      • 2.1.2 启动并查看registry容器
      • 2.1.3 查看仓库的镜像目录
      • 2.1.4 获取busybox镜像并修改标签
      • 2.1.5 修改Docker服务文件
      • 2.1.6 上传busybox镜像到本地仓库
    • 2.2 获取私有仓库的镜像
      • 2.2.1 在Euler02上获取私有仓库中的busybox镜像
      • 2.2.2 在Euler03上获取私有仓库中的busybox镜像
  • 3. 实战总结

1. 实战概述

  • 本次实战以 Euler 节点为环境,完成 Docker 私有镜像仓库的搭建与跨节点镜像共享:先在 Euler01 拉取 registry 镜像,创建挂载目录并启动私有仓库容器;接着拉取 busybox 镜像打标签,配置 Docker 信任后推送至仓库;最后在 Euler02、Euler03 配置信任并拉取仓库中的 busybox 镜像,实现镜像跨节点复用。

2. 实战步骤

2.1 创建Docker私有仓库

2.1.1 获取并查看registry镜像

  • 在Eluer01节点上执行命令:docker pull registry
  • 执行命令:docker images

2.1.2 启动并查看registry容器

  • 执行命令:mkdir /hwregistry

  • 执行命令:docker run -d -p 5000:5000 --name pri_registry -v /hwregistry:/var/lib/registry registry

  • 结果说明:这段操作是在搭建Docker私有镜像仓库:先创建了宿主机目录/hwregistry,接着用docker run启动了名为pri_registry的Registry容器,将宿主机5000端口映射到容器5000端口,并把容器内镜像存储目录/var/lib/registry挂载到/hwregistry实现数据持久化。容器已后台运行,可通过euler01:5000访问私有仓库,后续需配置Docker信任该HTTP仓库才能推送/拉取镜像。

  • 执行命令:docker ps -a

2.1.3 查看仓库的镜像目录

  • 执行命令:curl -X GET http://127.0.0.1:5000/v2/_catalog
  • 结果说明:这段curl命令是请求私有Docker仓库的镜像目录(v2/_catalog),返回结果{"repositories":[]}说明当前仓库里还没有任何镜像。这是正常的初始状态,后续可以向127.0.0.1:5000推送镜像来填充仓库。

2.1.4 获取busybox镜像并修改标签

  • 执行命令:docker pull busybox
  • 执行命令:docker tag busybox:latest euler01:5000/busybox:latest

2.1.5 修改Docker服务文件

  • 执行命令:vim /usr/lib/systemd/system/docker.service
  • 执行命令:systemctl daemon-reload
  • 执行命令:systemctl restart docker,重启Docker服务

2.1.6 上传busybox镜像到本地仓库

  • 执行命令:docker push euler01:5000/busybox:latest

2.2 获取私有仓库的镜像

2.2.1 在Euler02上获取私有仓库中的busybox镜像

  1. 修改Docker服务文件
    • 执行命令:vim /usr/lib/systemd/system/docker.service
  2. 重启Docker服务
    • 执行命令:systemctl daemon-reload
    • 执行命令:systemctl restart docker
  3. 从本地仓库获取busybox镜像
    • 执行命令:docker pull euler01:5000/busybox
    • 执行命令:docker images

2.2.2 在Euler03上获取私有仓库中的busybox镜像

  1. 修改Docker服务文件

    • 执行命令:vim /usr/lib/systemd/system/docker.service
  2. 重启Docker服务

    • 执行命令:systemctl daemon-reload

    • 执行命令:systemctl restart docker

  3. 从本地仓库获取busybox镜像

    • 执行命令:docker pull euler01:5000/busybox

    • 执行命令:docker images

3. 实战总结

  • 本次实战完整实现了 Docker 私有仓库的部署与使用:通过在 Euler01 创建挂载目录、启动 registry 容器,完成仓库的持久化搭建;经镜像打标签、修改 Docker 服务配置(信任 HTTP 仓库),成功将 busybox 镜像推送至私有仓库;后续在 Euler02、Euler03 重复配置步骤后,均顺利拉取到仓库镜像,验证了私有仓库的跨节点共享能力。整个流程覆盖了仓库搭建、镜像推送、跨节点拉取的核心操作,解决了镜像本地存储的局限,实现了多节点镜像的统一管理与复用。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/15 23:09:20

46、Linux 实用命令与技巧大揭秘

Linux 实用命令与技巧大揭秘 在 Linux 系统的使用过程中,掌握一些实用的命令和技巧能让我们的工作更加高效。下面将为大家详细介绍一系列实用的 Linux 命令及操作方法。 命令路径快捷查找 有时候,我们想查看二进制路径下的某个 shell 脚本,但却记不清它具体位于 /bin 、…

作者头像 李华
网站建设 2025/12/14 15:29:46

25、Ubuntu 网络应用全攻略

Ubuntu 网络应用全攻略 1. Firefox 浏览器使用技巧 Firefox 支持标签式窗口,提供了多种打开新标签的方式: - 点击“New Tab”按钮(现有标签右侧的“+”符号)。 - 按住“Ctrl”键并点击链接,可在新标签中打开。 - 按下“Ctrl - T”组合键。 - 若鼠标有中键,有时点击…

作者头像 李华
网站建设 2025/12/14 15:29:40

26、开启Ubuntu系统下OpenOffice.org的高效办公之旅

开启Ubuntu系统下OpenOffice.org的高效办公之旅 在Ubuntu系统中,我们可以借助网络完成许多操作。若想使用的程序或功能未被提及,可通过Synaptic软件包管理器或Ubuntu软件中心进行搜索,大概率能找到所需的程序或具有类似功能的替代程序。 而开源软件强大功能与能力的一个绝…

作者头像 李华
网站建设 2025/12/14 15:29:38

27、Ubuntu 软件与游戏使用指南

Ubuntu 软件与游戏使用指南 一、OpenOffice.org 软件介绍 OpenOffice.org 是一套功能强大的办公软件套件,可与其他商业套件相媲美。它是开源软件,有众多开发者持续对其更新,自 2006 年以来每年至少更新四次。 (一)任务框架(The Tasks Frame) 任务框架提供了各种任务…

作者头像 李华
网站建设 2026/1/12 20:47:07

AI营销增长:4大核心能力+前端落地指南

AI赋能营销增长:4大核心能力前端落地全指南(小白友好版) 之前我们聊了营销增长的业务场景,今天聚焦“AI到底怎么帮我们干活”——从写文案、分用户到投广告、做客服,AI能把“费人力、耗时间”的活儿变简单。这篇会把A…

作者头像 李华
网站建设 2025/12/20 7:08:12

基于 Rust 实现单向网闸环境下的 MQTT 消息透明传输

摘要:在工业互联网与关键信息基础设施保护(CIIP)场景中,物理单向网闸(Data Diode/光闸)的部署虽然提升了安全边界,但也阻断了 TCP/IP 协议的双向通信能力,导致 Kafka、MQTT 等通信协…

作者头像 李华