Docker学习之私有仓库(day10)

Docker学习之私有仓库(day10)

文章目录

  • Docker学习之私有仓库(day10)
    • 前言
    • 一、问题描述
    • 二、具体内容
      • [1. 私有仓库搭建](#1. 私有仓库搭建)
      • [1.1 拉取私有仓库镜像](#1.1 拉取私有仓库镜像)
      • [1.2. 启动私有仓库容器](#1.2. 启动私有仓库容器)
      • [1.3. 验证私有仓库是否搭建成功](#1.3. 验证私有仓库是否搭建成功)
      • [1.4 配置 Docker 信任私有仓库](#1.4 配置 Docker 信任私有仓库)
    • [2. 将镜像上传至私有仓库](#2. 将镜像上传至私有仓库)
      • [2.1 标记镜像为私有仓库的镜像](#2.1 标记镜像为私有仓库的镜像)
      • [2.2 上传标记的镜像](#2.2 上传标记的镜像)
    • [3. 从私有仓库拉取镜像](#3. 从私有仓库拉取镜像)
    • 三、总结

前言

在使用 Docker 的过程中,默认的镜像仓库是 Docker Hub,但有时候我们希望搭建自己的私有仓库,来存储和管理自己的镜像。本文将介绍如何搭建 Docker 私有仓库,并演示镜像的上传和拉取操作。

一、问题描述

在企业或团队开发过程中,出于安全性或效率考虑,我们通常需要搭建自己的 Docker 私有仓库,而不是使用公共的 Docker Hub。本篇文章将介绍如何搭建 Docker 私有仓库,并进行镜像的上传和下载。

二、具体内容

1. 私有仓库搭建

Docker 提供了 registry 作为官方的私有仓库实现,我们可以使用以下命令快速搭建一个私有仓库:

1.1 拉取私有仓库镜像

cpp 复制代码
docker pull registry

1.2. 启动私有仓库容器

cpp 复制代码
docker run -id --name=registry -p 5000:5000 registry

这将会启动一个监听 5000 端口的私有仓库。

1.3. 验证私有仓库是否搭建成功

打开浏览器,输入 http://私有仓库服务器ip:5000/v2/_catalog,如果返回 {"repositories":[]},则表示私有仓库搭建成功。

私有仓库服务器ip查询:

cpp 复制代码
ip a

1.4 配置 Docker 信任私有仓库

编辑 Docker 配置文件:

bash 复制代码
sudo nano /etc/docker/daemon.json

在上述文件中添加以下内容(请将 私有仓库服务器ip 替换为真实的 IP 地址):

json 复制代码
{
  "insecure-registries": ["私有仓库服务器ip:5000"]
}

保存并退出后,重启 Docker 服务并启动私有仓库:

bash 复制代码
systemctl restart docker
docker start registry

2. 将镜像上传至私有仓库

2.1 标记镜像为私有仓库的镜像

bash 复制代码
docker tag test_tomcat:1.0 私有仓库服务器IP:5000/test_tomcat:1.0

2.2 上传标记的镜像

bash 复制代码
docker push 私有仓库服务器IP:5000/test_tomcat:1.0

上传完成后,我们可以查看仓库中的镜像:

bash 复制代码
curl http://私有仓库服务器ip:5000/v2/_catalog

3. 从私有仓库拉取镜像

为了验证是否成功拉取,先将192.168.1.131:5000/test_tomcat:1.0删除:

cpp 复制代码
docker rmi 私有仓库服务器ip:5000/test_tomcat:1.0

如果要从私有仓库拉取镜像,首先需要确保本地已经启动 registry,然后执行:

cpp 复制代码
docker pull 私有仓库服务器ip:5000/test_tomcat:1.0

之后,我们可以使用 docker images 命令查看本地镜像。

三、总结

  • Docker 提供了 registry 作为官方的私有仓库方案。
  • 通过 docker tag 给镜像打上私有仓库的标签,然后使用 docker push 上传镜像。
  • 通过 docker pull 拉取私有仓库中的镜像。
  • 可以使用 curl http://私有仓库服务器ip:5000/v2/_catalog 查看仓库中的镜像。
  • 需要在 daemon.json 文件中添加 insecure-registries 以信任私有仓库地址,并重启 Docker 服务。

私有仓库的搭建可以提高安全性和效率,在企业内部开发中是非常常见的方案。

相关推荐
光影少年1 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
郑寿昌2 小时前
GPU显存HPA:K8s智能扩缩实战
云原生·容器·kubernetes
sakiko_2 小时前
UIKit学习笔记2-组件嵌套、滚动视图等
笔记·学习·objective-c·swift·uikit
知识分享小能手2 小时前
R语言入门学习教程,从入门到精通,R语言类别比较数据可视化- 完整知识点与案例代码(4)
学习·信息可视化·r语言
C Y D3 小时前
只启动wsl
docker
蛋白界小百灵3 小时前
纳米抗体技术全解析:从文库构建到亲和力成熟的关键策略
经验分享·科技·学习·健康医疗·业界资讯·卡梅德生物
我是发哥哈3 小时前
主流AI框架生产环境性能对比:5大关键维度深度评测
大数据·人工智能·学习·机器学习·ai·chatgpt·ai-native
羑悻的小杀马特3 小时前
零成本搞定!异地访问 OpenClaw 最简方案:SSH 端口映射组网!
运维·服务器·人工智能·docker·自动化·ssh·openclaw
nashane3 小时前
HarmonyOS 6学习:RCP远场通信流式返回实战——告别“一次性”数据阻塞
学习·华为·harmonyos
for_ever_love__3 小时前
UI学习:UITableView的基本操作及折叠cell
学习·ui·ios