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

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

相关推荐
代码老y1 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
DuelCode2 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
好好研究2 小时前
学习栈和队列的插入和删除操作
数据结构·学习
新中地GIS开发老师3 小时前
新发布:26考研院校和专业大纲
学习·考研·arcgis·大学生·遥感·gis开发·地理信息科学
SH11HF4 小时前
小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
学习·云计算
Frank学习路上4 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
Chef_Chen6 小时前
从0开始学习计算机视觉--Day07--神经网络
神经网络·学习·计算机视觉
杨浦老苏7 小时前
开源服务运行监控工具Lunalytics
docker·群晖·网站监控
X_StarX7 小时前
【Unity笔记02】订阅事件-自动开门
笔记·学习·unity·游戏引擎·游戏开发·大学生
MingYue_SSS8 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习