当前位置: 首页 > news >正文

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 重复配置步骤后,均顺利拉取到仓库镜像,验证了私有仓库的跨节点共享能力。整个流程覆盖了仓库搭建、镜像推送、跨节点拉取的核心操作,解决了镜像本地存储的局限,实现了多节点镜像的统一管理与复用。
http://www.cnnetsun.cn/news/51296.html

相关文章:

  • K8S-EFK日志收集实战指南
  • 外贸流程管理系统
  • 200万token上下文能力,并且越用越聪明!Google Research重构AI长期记忆
  • Flutter + OpenHarmony 国际化与无障碍(i18n a11y)深度实践:打造真正包容的鸿蒙应用
  • 风光储并网直流微电网Simulink仿真模型:光伏、风力与混合储能系统的集成
  • Python第三次作业
  • 44、深入探索GDB调试技巧与C/C++代码调试
  • 复盘 Git+GitHub SSH 配置:从权限报错到免密推送的全流程解决方案
  • Screenbox媒体播放器隐藏功能终极指南:从入门到精通
  • FlashAttention终极指南:突破大模型训练内存瓶颈的完整教程
  • 冒泡排序 ~ 背下来的 哭
  • 手把手教你学Simulink——机器人轨迹跟踪场景实例:基于Simulink的永磁同步电机关节空间直线轨迹跟踪控制仿真
  • 盈富宝典 通达信主图
  • 14、Python在不同场景下的应用与实践
  • X-AnyLabeling 自动数据标注保姆级教程:从安装到格式转换全流程
  • 38、深入探索bc计算器、数组及特殊编程技巧
  • vue基于Spring Boot框架的技术实现的医院住院管理系统_229p8ejv
  • 基于vue的停车场预约管理系统地图_n7nz82g6_springboot php python nodejs
  • 基于vue的宠物领养系统的设计与实现_389i5918_springboot php python nodejs
  • 基于vue的生鲜团购管理系统设计与实现优惠卷_2av6282k_springboot php python nodejs
  • React Native桌面应用交互终极指南:从点击事件到原生菜单完整教程
  • Springboot美食分享网站a73c9(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Springboot门店运营管理系统hd158(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Stellarium望远镜控制实战指南:从硬件连接到精准观测
  • 快速验证:基于CentOS 7.6的测试环境搭建
  • AI定价实战指南:快速构建电商智能定价系统
  • VGGT三维重建终极指南:从零开始构建你的3D世界
  • 电商网站秒开秘籍:快马AI加载优化案例
  • 15分钟快速验证:谷歌服务离线包生成器原型开发
  • 1小时搞定ElementUI原型:快马平台实战