搭建Docker私有镜像仓库

        大家好,今天给大家分享一下如何搭建私有镜像仓库,私有镜像仓库可以更好地管理和控制镜像的访问和使用,确保只有授权的人员能够获取和使用特定的镜像,而且方便团队内部共享定制化的镜像,提高开发和部署效率,不需要每次都从外部获取镜像,减少网络延迟和不稳定因素的影响,还能够对镜像进行版本控制,方便回滚和追踪,有利于资源整合,将常用的镜像集中存储和管理,便于资源的统一调配和利用。

一、配置Docker信任地址

修改Docker守护进程配置文件:

vi /etc/docker/daemon.json

通过vi打开文件后,添加文件内容如下:

 {
   "insecure-registries":["http://你的ip地址:8090"]
 }

修改完成后,保存退出 。

重新加载Docker守护进程配置并重启Docker。

systemctl daemon-reload
systemctl restart docker

二、下载安装简化版的镜像仓库

下载registry镜像 

docker pull registry

等待下载完成... 

下载完成后,启动registry容器。

mkdir /opt/registry-ui/registry-data # 创建存放registry数据的目录

docker run -d \
    --restart=always \
    --name registry \
    -p 5000:5000 \
    -v /opt/registry-ui/registry-data:/var/lib/registry \
    registry

这条命令的解释:

-d:以守护进程模式运行容器。

--restart=always:容器在退出后总是自动重启。

--name registry:为容器指定名称为 registry。

-p 5000:5000:将主机的 5000 端口映射到容器的 5000 端口。

-v /opt/registry-ui/registry-data:/var/lib/registry:将主机的 /opt/registry-ui/registry-data 目录挂载到容器的 /var/lib/registry 目录。

registry:指定要运行的容器镜像为 registry。

查看容器运行状态。

容器启动成功。

三、下载安装docker-registry-ui

docker run -p 8090:80 --name registry-ui \
--restart=always \
-e REGISTRY_URL="http://你的ip地址:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="这是一个私有仓库" \
-e CATALOG_ELEMENTS_LIMIT="1000" \
-d joxit/docker-registry-ui:static

在这条命令的解释:

-p 8090:80:将主机的 8090 端口映射到容器的 80 端口。

--name registry-ui:给容器命名为 registry-ui。

--restart=always:表示容器总是自动重启。

-e REGISTRY_URL="http://你的 ip 地址:5000":设置环境变量 REGISTRY_URL 的值。

-e DELETE_IMAGES="true":设置环境变量 DELETE_IMAGES 为 true。

-e REGISTRY_TITLE="这是一个私有仓库":设置环境变量 REGISTRY_TITLE 的值。

-e CATALOG_ELEMENTS_LIMIT="1000":设置环境变量 CATALOG_ELEMENTS_LIMIT 的值。

d:表示以守护进程模式运行容器。

joxit/docker-registry-ui:static:指定要运行的容器镜像。

自动下载并且启动容器完成后,查看容器的运行状态。

此时,访问 http://你的ip地址:8090 即可访问私有镜像仓库页面。

四、设置Docker启动时启动

docker update registry --restart=always
docker update registry-ui --restart=always

五、推送镜像到私有仓库

把本地的镜像 nginx,重新tag为 nginx:1.0。

docker tag nginx:latest 你的ip地址:8090/nginx:1.0

把它推送到私有仓库

docker push 你的ip地址:8090/nginx:1.0

推送成功后,可以在仓库中查看到。 

六、拉取私有仓库镜像

docker pull 你的ip地址:8080/nginx:1.0

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/598175.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 中的HASH详解

MySQL中的哈希索引(Hash Index)是一种特殊的数据库索引类型,它利用哈希表(Hash Table)的数据结构来存储索引项。哈希表通过哈希函数(Hash Function)将索引列的值转化为一个固定长度的哈希码&…

【目录】500 行或更少(500 Lines or Less)

AOSA 500 行或更少(500 Lines or Less)是《开源应用程序体系结构》(Architecture of Open Source Applications, AOSA)系列的第四卷。该系列的前三卷是关于大型程序必须解决的大问题,而本书专注于程序员在构建新事物时在小规模中做出的设计决…

数据结构链表

数据结构链表 链表 1)链表的概念及结构: 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。 2)实际中链表的结构非常多样,以下情况组合起来就有8种链表结构: 单向、双向…

SAP PP模块学习提炼第一部分

SAP是ERP的一款软件。 SAP的入门困难: 听不懂,看不懂缺乏知识体系缺乏行业经验 SAP入门引导: 导师引导实战演练 SAP基础介绍 1.什么是SAP? System, Application and Products in Data Processing 即数据处理的系统、应用和产品。 2.…

7: 分配器

文章目录 operator new () 和 malloc()stl 中allocator的使用allocators 内部实现vc的分配器 并没有太多的技巧可言下面是BC5的stl 设计GCC的allocators2.9版本GCC使用的allocator是什么?这里面cookie的作用 4.9版本的GCC allocator operator new () 和 malloc() 所…

Redis系列之key过期策略介绍

为什么要有过期策略&#xff1f; Redis是一个内存型的数据库&#xff0c;数据是放在内存里的&#xff0c;但是内存也是有大小的&#xff0c;所以&#xff0c;需要配置redis占用的最大内存&#xff0c;主要通过maxmemory配置 maxmomory <bytes> # redis占用的最大内存官…

深入解析C#中的async和await关键字

文章目录 一、异步编程的基本概念及其在C#中的实现二、async关键字的定义及其用法三、await关键字的定义及其用法示例代码&#xff1a;使用async和await编写一个简单的异步程序 四、async和await的优点注意事项 五、C#下async和await中常见问题汇总1. 异步方法中的await调用2. …

CST电磁仿真软件远场源的导出调用和提取结果【小白必看】

远场源的导出&调用(1) 提取Hybrid仿真所需的远场源&#xff01; Post-Processing > Tools > Result Templates Tools >Farfield and Antenna Properties > Export Farfields As Source 混合求解(Hybrid Simulation)是对安装在舰船等大型平台上的天线进行仿真…

【Leetcode 42】 接雨水-单调栈解法

基础思路&#xff1a; 维持栈单调递减&#xff0c;一旦出现元素大于栈顶元素&#xff0c;就可以计算雨水量&#xff0c;同时填坑&#xff08;弹出栈顶元素&#xff09; 需要注意&#xff1a; 单调栈通常保存的是下标&#xff0c;用于计算距离 public static int trap2(int[…

什么是OSW(光交换)?

光交换&#xff08;OSW&#xff09;是光传输网络中的一项关键技术&#xff0c;为复杂网络内光信号的动态路由和管理提供了手段。OSW的工作原理涉及对光信号路径的精确控制&#xff0c;确保光通信系统中的高效和灵活传输。本文全面介绍了OSW的不同类型、功能、工作模式和优势&am…

Linux 二十一章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

上市企业扣非净利润是什么意思,可以反映什么问题?

扣非净利润&#xff0c;全称“扣除非经常性损益后的净利润”&#xff0c;是指企业在剔除与正常经营无关的、偶然发生的损益后所得到的利润。这些非经常性损益包括但不限于政府补贴、处置长期资产、税收返还等。 扣非净利润的计算公式为&#xff1a;扣非净利润 净利润 - 非经常…

python:机器学习特征优选

作者&#xff1a;CSDN _养乐多_ 在Python中进行机器学习特征选择的方法有很多种。以下是一些常用的方法&#xff1a; 过滤法&#xff08;Filter Methods&#xff09;&#xff1a;通过统计方法或者相关性分析来评估每个特征的重要性&#xff0c;然后选择最相关的特征。常用的…

基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 遗传算法&#xff08;GA&#xff09;原理 4.2 BP神经网络原理 4.3 遗传优化BP神经网络结合应用 4.4 遗传算法简要改进 5.完整程序 1.程序功能描述 基于改进遗传优化的BP神经网络金融…

电机控制系列模块解析(17)—— 速度环

一、电机转速控制 电机控制的速度环是整个电机控制系统中的外环&#xff0c;其主要任务是根据设定的转速指令值&#xff08;目标速度&#xff09;与实际电机转速之间的偏差&#xff0c;调整电流环的参考值&#xff08;d轴电流Id或q轴电流Iq&#xff0c;涉及类似单电流环的弱磁…

OpenCampass评测实战 作业

按照如下教程文档操作即可&#xff1a;https://aicarrier.feishu.cn/wiki/NxUOwnLuvi0clykyzj7ccSHPndb

JavaScript解决精度问题-math.js-使用入门

JavaScript精度失真案例 0.1+0.2 结果是:0.300000000000000041-0.9 结果是:0.099999999999999984.10*100 结果是:409.999999999999946.10/0.1 结果是:60.99999999999999大数计算 9007199254740992+1 结果是9007199254740992 JavaScript 浮点数运算结果不对,因浮点数的存储…

物料厘不清?企业如何做好“物料管理”

物料包括原材料、半成品、成品、辅助用品以及生产过程中必然产生的边角余料、废料等。在制造企业中&#xff0c;各个部门的业务流程几乎都要用到物料&#xff1a; 销售和订单录入部门要通过物料确定客户定制产品的构形&#xff1b; 计划部门要根据物料来计划物料和能力的需求…

AI绘画ComfyUI工作流安装教程,新手入门安装部署教程

ComfyUI 是专为 Stable Diffusion 打造的图形用户界面&#xff08;GUI&#xff09;&#xff0c;采用了基于节点的操作方式。用户可以通过连接不同的模块&#xff08;即节点&#xff09;来创建复杂的图像生成流程。这些节点涵盖了多样的功能&#xff0c;包括加载检查点模型、输入…

卧龙搞怪作妖,图形化编程桌面内测探秘故事

在一间古朴的办公室内&#xff0c;卧龙与凤雏相对而坐&#xff0c;悠闲地品着茶。茶香袅袅&#xff0c;弥漫在空气中。 “凤雏贤弟啊&#xff0c;你可曾忆起往昔在那图形化编程桌面&#xff0c;咱们行产品内测之时&#xff0c;那乱象丛生之景呢&#xff1f;”卧龙微微眯眼&…