Docker 私有仓库的搭建、配置与镜像上传教程

Docker之镜像上传 《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取! RUN apk --no-cache add ca-certificates wget \&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \&& apk add glibc-2.29-r0.apk glibc-bin-2.29-r0.apk glibc-i18n-2. 阅读详情
AI摘要

本文详细介绍了Docker私有仓库的搭建、配置过程以及如何上传和拉取镜像。内容包括Docker仓库的基本概念、安装Docker、使用官方Registry镜像、配置SSL和数据持久化、配置Docker客户端以及解决常见问题。

Docker 私有仓库的搭建、配置与镜像上传教程

Docker 是一个流行的容器化平台,它允许开发者将应用程序及其依赖关系打包成轻量级、可移植的容器。为了提高团队协作和生产效率,很多企业和团队选择使用 Docker 私有仓库来存储和管理 Docker 镜像。本文将详细介绍如何搭建和配置 Docker 私有仓库,并展示如何将镜像上传到该仓库。

1. 什么是 Docker 私有仓库?

Docker 仓库(Docker Registry)是用来存储和分发 Docker 镜像的系统。Docker 提供了默认的公共 Docker Hub 仓库,但企业和开发者有时需要将镜像存储在自己控制的私有仓库中。使用 Docker 私有仓库的优势包括:

  • 安全性:私有仓库只对授权用户开放,确保了镜像的私密性。
  • 灵活性:可以自定义仓库的使用权限、存储策略等。
  • 优化:减少了对公共仓库的依赖,提升了镜像下载速度,尤其在团队或企业规模较大的情况下。

2. 搭建 Docker 私有仓库

2.1. 安装 Docker

在开始搭建私有仓库之前,确保你的机器上已经安装了 Docker。如果没有安装 Docker,可以按照以下步骤安装:

在 Ubuntu 上安装 Docker:
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
在 CentOS 上安装 Docker:
sudo yum install -y docker
sudo systemctl enable --now docker

确认安装成功:

docker --version

2.2. 使用 Docker 官方 Registry 镜像

Docker 官方提供了一个轻量级的私有仓库镜像 registry,我们可以利用它快速搭建私有仓库。下面的步骤会使用 Docker 启动一个私有仓库。

运行 Docker Registry 镜像

使用以下命令启动 Docker 私有仓库:

docker run -d -p 5000:5000 --name registry --restart=always registry:2

命令解析:

  • -d:后台运行容器。
  • -p 5000:5000:将容器的 5000 端口映射到主机的 5000 端口,这是默认的 Docker Registry 端口。
  • --name registry:给容器命名为 registry。
  • --restart=always:容器崩溃时自动重启。
  • registry:2:使用 Docker 官方的 registry 镜像(版本 2)。

2.3. 配置 Docker Registry

如果要使用自签名证书(https)或者对外暴露 Docker 仓库,可以参考以下步骤配置:

配置 SSL(可选)
  1. 创建证书文件:
mkdir -p /etc/docker/certs.d/myregistrydomain.com:5000
cp /path/to/your/certificate.crt /etc/docker/certs.d/myregistrydomain.com:5000/
  1. 配置 Docker 使用该证书:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry myregistrydomain.com:5000
EOF
  1. 重新加载并重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
配置数据持久化

默认情况下,容器的镜像数据保存在容器内部。如果容器被删除,镜像数据会丢失。因此,应该配置数据存储路径,以便持久化数据。

  1. 创建目录用于存储数据:
mkdir -p /opt/registry/data
  1. 使用以下命令启动 Docker 容器,并将数据存储到指定目录:
docker run -d -p 5000:5000 --name registry --restart=always -v /opt/registry/data:/var/lib/registry registry:2

2.4. Docker Registry Web 界面(可选)

为了方便查看和管理镜像,可以使用 Docker Registry 的 Web 界面,例如 Docker Registry UI:

  1. 下载 Docker Registry UI:
git clone https://github.com/kwk/docker-registry-frontend.git
cd docker-registry-frontend
docker build -t registry-ui .
  1. 启动 UI 容器:
docker run -d -p 8080:80 -e REGISTRY_PROXY_SECRET=mysecret -e REGISTRY_PROXY_ENDPOINT=http://your_registry:5000 registry-ui

这时,你就可以通过浏览器访问 http://<your-server-ip>:8080 来查看 Docker 私有仓库中的镜像。

3. 配置 Docker 客户端使用私有仓库

要将镜像上传到 Docker 私有仓库,首先需要配置 Docker 客户端与私有仓库通信。

3.1. 登录到私有仓库

使用 docker login 命令登录到 Docker 私有仓库:

docker login myregistrydomain.com:5000

系统会提示你输入用户名和密码。默认情况下,Docker Registry 并没有用户认证机制,你可以选择跳过该步骤或者使用简单的 HTTP 基本认证。

3.2. 标记镜像

将本地的 Docker 镜像标记为私有仓库的格式:

docker tag <local-image> myregistrydomain.com:5000/<image-name>:<tag>

例如:

docker tag myapp:latest myregistrydomain.com:5000/myapp:latest

3.3. 上传镜像

上传镜像到私有仓库:

docker push myregistrydomain.com:5000/myapp:latest

上传成功后,你可以通过 Web 界面或 Docker CLI 查看该镜像。

4. 从私有仓库拉取镜像

当你需要从 Docker 私有仓库中拉取镜像时,使用以下命令:

docker pull myregistrydomain.com:5000/myapp:latest

如果遇到 SSL 证书问题,记得先配置客户端信任证书,或者使用 --insecure-registry 标记。

5. Docker 私有仓库的常见问题与解决

5.1. 镜像上传失败

  • 原因:可能是 Docker Registry 没有正确配置存储路径,或者权限不足。
  • 解决:检查 Docker 容器的日志,确保存储路径具有适当的权限,并且容器没有报错。

5.2. 客户端无法访问私有仓库

  • 原因:可能是私有仓库没有开放必要的端口,或者没有正确配置证书。
  • 解决:检查防火墙设置,确保 5000 端口开放。检查证书配置,确保客户端信任该证书。

5.3. 无法登录私有仓库

  • 原因:没有设置正确的身份验证机制或用户密码错误。
  • 解决:如果使用基本认证,确保 Docker Registry 配置了正确的认证机制,并且提供了正确的用户名和密码。

6. 总结

Docker 私有仓库是容器化应用中一个重要的组成部分,它能够帮助团队管理、共享和保护 Docker 镜像。通过本文的教程,你可以成功搭建和配置一个 Docker 私有仓库,并学习如何上传和拉取镜像。通过对 Docker Registry 的配置和使用,你可以为团队和企业提供高效、安全的镜像存储解决方案。

Docker 镜像推送到远程仓库 1. **网络限制**:如果目标服务器没有网络连接,推荐使用方法 2(导出镜像文件)。2. **权限问题**:确保目标服务器上有足够的权限运行 `docker` 命令。3. **镜像大小**:大镜像可能需要较长时间传输,建议压缩后再传输。### **方法 3:直接从源服务器复制镜像到目标服务器**### **方法 2:导出镜像并传输到目标服务器**#### **步骤 2:通过管道传输到目标服务器**#### **步骤 4:在目标服务器拉取镜像**#### **步骤 1:在源服务器导出镜像** 阅读详情

相关推荐

Docker私服搭建及上传自己镜像到私服仓库

Docker私服搭建及上传自己镜像到私服仓库一、上传镜像到官方Docker Hub 上Docker默认仓库地址是Docker Hub官网地址,要将镜像上传到官方公共仓库,首先要有一个帐号,注册地址:https://hub.docker.com注册成功后,先登录docker login按照提示输入用户名和密码,登录成功,然后上传自己的镜像,例如我要上传 java:exampledocker tag ...

qq_39623859的博客 2万+

Docker之镜像上传(手把手教你在Docker中进行镜像上传)

前言 在我们做项目过程中,需要很多的配置文件,这时我们学了Docker镜像上传之后,就可以直接从阿里云服务器上直接拉取依赖下来进行操作 一、镜像上传 1、将jre资源包复制到自己所在的文件中 2、更改Dockerfile文件内容,实现alpine上传 3、使上传文件进行瘦身,使得上传文件大小更小 3、创建github账号,建立一个仓库 在github网站中切换成中文形式,自己可以去创建一个github仓库 4、进入到阿里云服务官网,进行注册镜像仓库 ...

m0_53151031的博客 2万+

Docker搭建官方私有仓库registry及相关配置

本文介绍了Docker私有仓库registry的搭建方法。首先拉取registry镜像并启动容器,默认端口5000。关闭防火墙后通过浏览器访问验证仓库是否搭建成功。为了让Docker信任私有仓库地址,需修改/etc/docker/daemon.json文件,添加"insecure-registries"配置项。虽然registry搭建简单,但文章指出其功能有限,推荐企业使用更强大的Harbor作为镜像管理方案。

꯭ 瞎꯭扯꯭蛋꯭的博客 1607

docker镜像push到仓库

通过以上步骤,开发者即可将构建的Docker镜像推送至指定的仓库中。使用Dockerpush指定仓库,能够方便地管理Docker镜像,并在不同的环境中进行部署和使用。

justlpf的专栏 1万+

nexus搭建maven与docker镜像的私有仓库

在遇到这个问题的时候,查阅了网上资料,没有任何相关答案,要么是说admin账户未添加docker的权限,可是无权限报的是401错误应该。最后打开了nexus自带的日志权限调整页面,调整了nexus业务相关的日志为debug权限,在日志中成功看到了这个异常的详情。这个地方出现了uri相关的自定义配置,应该调试这里,受到思维惯性的影响认为maven私有仓库包的上传与下载均正常,以及nexus平台访问正常,所以认为这个配置是没问题的忽略了。docker login的时候倘若报了登录权限问题。

Tomatoes的博客 1068

Lisflood

文献:基于SWMM和LISFLOOD-FP模型的居住区低影响开发模拟评价。问题:多个节点溢流同时,不行,待解决。目录下,cmd命令行。

警警的博客 2663

使用Docker制作镜像并推送到镜像仓库

本文会告诉你如何使用docker从远端下载一个镜像,然后对镜像做修改,最后再把镜像推送到你自己的镜像仓库。

guo_zhen_qian的专栏 1万+

大整数因数分解工具——yafu

可以将大整数放在一个新建文件中——data.txt,最后面一定要换行,不然会出现eof;done processing batchfile,运行命令。2.点击设置——系统——系统信息——高级系统设置——环境变量——点击PATH(上下都可以)——新建 添加yafu-x64.exe 所在路径——点击确定。,如果整数数过长,会出现错误mismatched parens;1.找到yafu-x64.exe 所在的文件路径。如果出现以下图像,说明配置成功。3.打开cmd,输入。

l2ohvef的博客 6156

Docker入门到实践 (十一) docker私有仓库的搭建与配置

文章目录一、前言二、Docker私有仓库的搭建与配置1、拉取私有仓库镜像2、启动registry镜像3、查看私有仓库是否搭建成功4、修改daemon.json配置文件5、重启docker服务三、私有仓库镜像的上传与拉取1、本地镜像上传到私有仓库2、拉取私有仓库的镜像到本地 一、前言   在上一篇文章中已经介绍了本地镜像推送到阿里云 和 下载镜像到本地, 下面正式进入到Docker私有仓库的搭建...

浅末年华的博客 1574

腾讯大佬总结的170道 python面试题

简述基于 TCP 协议的套接字通信流程。19.面向对象中`__new__` 和 `__init__` 区别。86. 解释 Python 中的`//`,`%`和`**`运算符。45.isinstance 的作用以及与 type()的区别。3. 简述下 Python 中的字符串、列表、元组和字典。143. 如何高效的找到 redis 中的某个 KEY。140. 如何保证 redis 中的数据都是热点数据。147. redis 中的 watch 的命令的作用。108. 简述 进程、线程、协程的区别以及应用场景。

AudiA6LV6的博客 488

LabVIEW与VisionMaster融合开发:从封装避坑到高效集成的实战指南

本文为LabVIEW开发者提供了一套与海康VisionMaster融合开发的实战指南。针对直接调用SDK时遇到的程序集加载失败和面向对象编程冲突等核心障碍,文章详细介绍了通过C#进行“浅封装”的解决方案,包括封装显示控件和核心功能类,并给出了在LabVIEW中高效集成、调用及资源管理的最佳实践,旨在帮助开发者稳定、高效地集成机器视觉功能。

weixin_29210727的博客 153

黑马十次方项目day09-02之Docker私有仓库搭建与配置

文章目录一.私有仓库搭建与配置二. 镜像上传至私有仓库 一.私有仓库搭建与配置 拉取私有仓库镜像, 执行命令 docker pull registry 通过命令 docker images, 查看镜像是否下载成功. 启动私有仓库容器,执行如下的命令 docker run -di --name=registry -p 5000:5000 registry 执行命令 docker ps,可以看到在后...

Java持续实践 581

深入SVT SPI VIP配置:如何灵活控制CS间隔、数据帧大小与时钟频率(含代码片段)

本文深入探讨了SVT SPI VIP的高级配置技巧,包括精确控制CS信号间隔、突破数据帧大小限制以及动态时钟频率切换。通过实战代码片段和详细配置步骤,帮助验证工程师灵活应对复杂SPI协议验证场景,提升验证效率和覆盖率。特别适合需要处理非标准SPI时序和特殊数据帧的芯片验证项目。

weixin_27014595的博客 280

Docker——搭建私有仓库

1. 搭建私有仓库 第一步:拉取私有仓库镜像 docker pull registry 私有仓库本身就是一个镜像 第二步:启动私有仓库容器 docker run -di --name myRegistry -p 5000:5000 registry 第三步:测试 http://192.168.214.10:5000/v2/_catalog 第四步:修改 /etc/docker 下 daemon.json,让doc...

时光·漫步的博客 407

STK相关总结

STK简介 一.SIM卡应用工具包(SIM Application Toolkit),又名CAT/USAT,它包含一系列终端与SIM卡的交互指令,SIM卡可以应用卡内的小应用程序和终端交互,从而实现增值服务的目的,STK包括三种类,STK-imsi切换,STK –OTA,STK-BIP 功能: (1) Profile download:配置下载,开机初始化SIM卡过程中,终端告诉SIM卡终端支持哪些功能,STK中download指终端将数据发送给SIM卡 (2) Proactive command: 主动式

jingjing_2的博客 3356

【C++】构造函数之初始化列表(Initialization list of constructors)

本讲主要是构造函数的初始化列表的讲节,但是本节很重要,可以关乎后面写项目

m0_62599305的博客 2233

搭建Docker私有仓库

文章目录部署registry部署portus 部署registry 拉取镜像 docker pull registry:2.7.1 运行容器 docker run -d -p 5900:5000 --restart always --name registry registry:2.7.1 查看运行结果 访问http://localhost:5900/v2/ 推送镜像到私有仓库...

江浙沪柯蓝 2121

即插即用系列(代码实践)| 2025 Strip R-CNN:大尺寸条形卷积——遥感目标检测新SOTA,专治细长目标(桥梁、船只)

摘要: 论文《Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection》针对遥感图像中细长目标(如桥梁、道路)检测难题,提出创新性解决方案。通过设计StripBlock模块,将传统方形卷积核替换为大尺寸条形卷积(水平1×19与垂直19×1组合),有效捕获长距离空间特征,同时减少背景噪声。结合CenterPooling增强目标中心定位,该模块可即插即用至现有网络,显著提升遥感检测任务(如DOTA数据集)的精度。代码已开源,

分享顶会顶刊论文即插即用模块 189

【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

Docker 私有仓库的搭建、配置,镜像上传至私有仓库案例演示。

商务合作 | 共同学习 | 携手共进 7万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【docker】一文讲完docker搭建私有仓库

搭建Docker私有仓库主要有以下几种方式:使用Docker官方提供的Registry镜像:Docker官方提供了一个用于构建私有镜像仓库的Registry镜像,只需将镜像下载并运行容器,然后暴露5000端口即可使用。可以通过修改Docker的配置文件daemon.json,在其中添加私有镜像仓库地址来实现。

不积跬步无以至千里,不积小流无以成江海。一个喜欢学习分享的程序员 5859

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Docker搭建私有仓库、查看私有仓库镜像

私有仓库的搭建 1.拉取私有仓库的镜像 docker pull registory 2.创建仓库容器并运行 docker run -d -v /home/registory:/home/tz/registory -p 5000:5000 --restart=always --privileged=true --name registry registry:latest docker ps ...

Tz.的博客 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Docker: 上传镜像至私有仓库

镜像可以很方便直接 push 到 docker 的公共仓库,就好像 github 一样,但是我们在开发中很多时候都不想公开镜像文件,这时就需要搭建 docker 的私有仓库,就好像 gitlab 一样。 在上一篇构建出镜像后,我们可以部署一个私有镜像仓库用来存放我们的镜像。 启动私有 Registry 启动一个私有仓库也非常简单,在服务器上执行命令 docker run -d -p ...

梁景智的博客 5050

Docker——(五) Dockerfile脚本构建镜像、 Docker私有仓库搭建、上传私有仓库、私服下载镜像

目录 一、Dockerfile 1、什么是Dockerfile 2、Dockerfile构建三步骤 3、带来的方便 4、Dockerfile的庐山面目 5、Dockerfile构建过程解析 5.1、Dockerfile内容的基础知识 5.2、Docker执行Dockerfile的大致流程 6、Dockerfile,Docker镜像,Docker容器三者之间的关系 7、Docke...

真香号 1699

Docker搭建私有仓库并上传镜像到私有仓库

第一步:获取registry镜像 [root@localhost ~]# docker pull registry Using default tag: latest latest: Pulling from library/registry c87736221ed0: Pull complete 1cc8e0bb44df: Pull complete 54d33bcb37f5: Pul...

陌子曦的专栏 2615

docker学习---私有仓库搭建及删除镜像

环境准备 系统: cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 主机两台,分别是docker私有库服务器(IP 192.168.121.121)和用户开发机(IP 192.168.121.121),开发机从私有库服务器拉取镜像。 1、配置软件源并安装安装docker 两台主机安装docker yum ins...

duanbiren123的博客 2786
上一篇: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
下一篇: 2025最新国内服务器可用docker源仓库地址大全(2025年8月更新)
AI云原生
博客等级 码龄3年 1万+粉丝 216原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值