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 分钟前
高效 P2P 文件传输工具:FileSync 利用 WebRTC 技术实现极速安全传输
经验分享·docker·webrtc·开源软件
Jayyih12 分钟前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
zheshiyangyang40 分钟前
TypeScript学习【一】
javascript·学习·typescript
syty20201 小时前
K8s是什么
容器·kubernetes·dubbo
笨鸟贤妃1 小时前
Ubuntu 22.04 安装 Docker & Compose 最新最简单完整指南
ubuntu·docker·compose
感哥1 小时前
Docker存储
docker
灞波儿奔波儿灞2 小时前
Lucky STUN穿透结合群晖NAS实现docker下transmission监听端口动态更新
docker·群晖·stun·lucky
T1an-12 小时前
Axum web框架【实习】
学习·rust
知识分享小能手2 小时前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
小毛驴8503 小时前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务