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 服务。

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

相关推荐
缘的猿4 分钟前
Kubernetes 中 ETCD 数据备份与恢复完整指南
容器·kubernetes·etcd
bestcxx21 分钟前
(二十七)、k8s 部署前端项目
前端·容器·kubernetes
白白白白熊爱吃麦当劳24 分钟前
k8s知识点总结5
docker·容器·kubernetes
鲸落落丶31 分钟前
webpack学习
前端·学习·webpack
zhangrelay32 分钟前
操作系统全解析:Windows、macOS与Linux的深度对比与选择指南(AI)
linux·笔记·学习
程序边界41 分钟前
AI时代如何高效学习Python:从零基础到项目实战de封神之路(2025升级版)
人工智能·python·学习
charlie1145141911 小时前
精读C++20设计模式——行为型设计模式:命令模式
c++·学习·设计模式·程序设计·命令模式·c++20
丶Darling.3 小时前
26考研 | 王道 | 计算机组成原理 | 二、数据的表示和运算
笔记·学习·计算机组成原理
丰锋ff3 小时前
2009 年真题配套词汇单词笔记(考研真相)
笔记·学习·考研
K_i1343 小时前
Kubernetes HTTPS迁移:Ingress到GatewayAPI实战
容器·https·kubernetes