Linux docker7--私有镜像仓库registry和UI搭建及使用

news2024/9/21 18:35:10

一、对于开源的镜像,如redis,nginx等,可以通过官方仓库Docker Hub,或者国内的阿里云等共有仓库下载获取到镜像。但是企业内对于自己的研发产品不可能往公共仓库去发布镜像的,一般都会搭建私有的镜像仓库,保障内部研发的镜像对内可用,外部是无法获取的。Redistry是Docker官方提供的私有镜像仓库,本例搭建一下。

二、搭建Redistry和UI服务
1、创建registry_data数据卷
命令:
docker volume create registry_data
在这里插入图片描述

2、编写docker-compose.yml文件,配置私有仓库registry和可视化界面UI。
docker-compose.yml示例如下:

version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - registry_data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:static
    ports:
      - 8092:80
    environment:
      - REGISTRY_TITLE=weisian的私有镜像仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry
volumes:
  registry_data:

说明:
registry服务:
使用registry最新镜像,指定数据卷registry_data打通容器内的/var/lib/registry目录。
UI服务:
使用joxit/docker-registry-ui:static镜像,指定宿主机8092端口映射容器内的80端口,指定环境变量(标题,仓库服务的地址为仓库服务的5000端口),ui服务依赖于registry服务的运行。
volumes:为生明registry_data是一个数据卷,需要提前创建好。

3、运行配置,启动registry和ui
命令:
docker-compose -f docker-compose.yml up -d
在这里插入图片描述
4、查看是否启动成功
(1)、查看docker的进程
docker ps 可以看到两个进程都存在,端口也都为配置的端口
在这里插入图片描述
(2)、浏览器访问镜像仓库地址,可以正常访问

http://192.168.249.88:8092/在这里插入图片描述

以上完成了私有镜像仓库的搭建。

三、推送私有仓库,和私有仓库拉取镜像
1、推送到仓库前,目标镜像需要打tag,即指定仓库地址和镜像版本
(固定格式:私服ip:端口/镜像名称:版本)
命令:
docker tag nginx:latest 192.168.249.88:8092/nginx:1.1
说明:上命令将本地的nginx:latest镜像打成tag镜像(实际上tag镜像和源镜像的镜像id还是一致的,tag镜像指定了仓库地址),这样在推送tag的时候就知道往哪里推送了
在这里插入图片描述
2、推送tag镜像到远程仓库
命令:
docker push 192.168.249.88:8092/nginx:1.1
在这里插入图片描述
注:
如上图是推送失败的结果。原因就是docker使用https的请求去访问resistry的服务,但是服务器没有配置https证书,所以https请求就不能成功。解决办法:1、服务器配置https证书,2、修改docker的daemon.json信息,可以针对某些地址进行http访问

方法2步骤:
(1)、打开docker的daemon.json
vi /etc/docker/daemon.json
在这里插入图片描述
(2)、添加下面的配置(即请求http://192.168.249.88:8092时使用http请求方式),注意上一行需要添加英文逗号
“insecure-registries”:[“http://192.168.249.88:8092”]
在这里插入图片描述
(3)、# 重新加载deamon文件
systemctl daemon-reload
在这里插入图片描述
(4)、重启docker
systemctl restart docker
在这里插入图片描述
完成上诉daemon的配置后,再次推送tag,可以成功
在这里插入图片描述
3、查看推送的结果
浏览器访问私有镜像仓库http://192.168.249.88:8092/,可以看到有nginx的镜像了

在这里插入图片描述
4、拉取私有仓库的镜像
在浏览器上点击如下位置获取拉取该镜像的命令
在这里插入图片描述
执行命令
docker pull 192.168.249.88:8092/nginx:1.0
如下可以看出,已经拉取到仓库的镜像到docker容器中了。
在这里插入图片描述
5、拉取的nginx镜像,启动服务
docker run -d --name nginx_1 -p 8093:80 192.168.249.88:8092/nginx:1.0
在这里插入图片描述
6、查看nginx服务
http://192.168.249.88:8093/
在这里插入图片描述

如上完成了,私有镜像仓库的搭建,已经推送和拉取镜像的过程,验证了拉取到的镜像可以正常运行。

学海无涯苦作舟!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCSA(第一天)

1.部署Linux环境: 安装Vmware之后,在windows会产生两个虚拟网卡:vmnet1, vmnet8 部署Linux:需要有网卡,必须要知道root用户的密码,和你普通的用户的用户名和密码 远程连接配置&#xff1a…

面试笔记——Redis(双写一致、持久化)

双写一致 双写一致性: 当修改了数据库中的数据,也要更新缓存的数据,使缓存和数据库中的数据保持一致。 相关问题:使用Redis作为缓存,mysql的数据如何与Redis进行同步?——双写一致性问题 回答时&#xff0…

携程旅行web逆向

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章…

List系列集合:ArrayList、LinkedList --java学习笔记

List系列集合 特点:有序、可重复、有索引 ArrayList:有序、可重复、有索引LinkedList:有序、可重复、有索引 List集合的特有方法 List集合因为支持索引,所以多了很多与索引相关的方法,当然,Collection的…

(附源码)基于Spring Boot与Vue的宠物用品销售系统设计与实现

前言 💗博主介绍:✌专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2024年Java精品实战案例《100套》 🍅文末获取源码联系🍅 &#x1f31…

如何使用人工智能和ChatGPT来优化营销转化率

人工智能 (AI) 和营销的交集正在彻底改变企业与客户互动的方式,最终改变营销转化率。人工智能能够分析大量数据、理解模式和自动执行任务,它不仅是一项创新技术,而且是营销领域的根本性转变。这种转变允许更加个性化、…

基于python+vue学生作业管理系统flask-django-nodejs-php

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式…

【并发编程】并发并行,同步异步,线程安全,线程的几种状态并发三要素?创建线程的方法?线程间的通信方式?进程的通信方式?多线程的上下文切换?CAS 算法

目录 并发并行,同步异步,线程安全 线程的几种状态 并发三要素? 创建线程的方法? 线程间的通信方式? 进程的通信方式? 多线程的上下文切换? CAS 算法 并发并行,同步异步,线程…

CICD流水线(发布后端代码)!!!

1、新建流水线 2、添加流水线源 3、测试环节 4、构建上传 ①java构建上传 ②java镜像构建 5、部署 1、Docker部署 6、开启代码推送自动部署 ①开启自动部署 ②找到你代码提交的私有仓库 7、整体叙述 ①:新建流水线 ②:添加流水线源,选择代码…

python发艺美发店管理系统flask-django-php-nodejs

系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的…

(南京观海微电子)——LCD与OLED优缺点对比

屏幕区别 如何区分OLED屏幕和LCD屏幕? 我们可以通过简单的方式区分OLED屏幕和LCD屏幕,打开一部手机的相机,调整到专业模式,快门调到最高,然后对着点亮的屏幕观察,如果出现规则的条纹就是OELD屏幕&#xff…

基于多态的职工管理系统学习记录

职工管理系统 1、管理系统需求 公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责 普通员工职责:完成经理交给的任务 经理职责:完成老板交给的任务&#xff0c…

人脸表情识别系统项目完整实现详解——(二)使用SSD模型检测人脸

摘要:人脸检测是人脸表情识别系统中至关重要的一环,其准确性直接影响到整个系统的性能表现。本文介绍了使用SSD模型和OpenCV进行高效人脸检测的完整代码实现。我们详细介绍了SSD人脸检测器的工作原理,包括如何加载预训练的SSD模型&#xff0c…

【C++】1311. 分跳绳

问题:1311. 分跳绳 类型:基本运算、整数运算 题目描述: 学校新买来 m 根跳绳,每个班分 n 根,最多可以分给几个班的同学,还剩多少根?(m≥n)。 输入: 两个整…

【python绘图colorbar对齐】

[Toc]# 1、问题描述 python在绘图过程中,可能会出现colorbar高度与主图不匹配情况,需要进行调整,使得与主图高度对齐,使图像更美观。示例:colorbar位置高于主图 2、解决方法 通过调整shrink参数匹配对齐,pad调整x轴…

2024 年 AI 辅助研发趋势将更加强调智能化、自动化和个性化

目录 前言 AI辅助研发的技术进展 行业应用案例 医药行业 汽车行业 电子行业 面临的挑战与机遇 技术挑战 伦理问题 数据安全 机遇和解决方案 未来趋势预测 1. 深度融合AI与研发流程 2. 智能研发平台的崛起 3. 强化AI与人类智慧的融合 前言 当谈到人工智能&#xff…

台达变频通过Modbus转Profinet网关可以在环网冗余中使用

Modbus转Profinet网关(如XD-MDPN100)是一种能够实现Modbus协议与Profinet协议之间转换的设备。它支持Modbus RTU协议和Profinet协议还支持MRP环网冗余系统,,可以通过配置软件进行协议转换,使得原本只能使用Modbus协议的设备可以与…

禁止区域入侵检测

1. 物体检测 Object detection with deep learning and OpenCV In the first part of today’s post on object detection using deep learning we’ll discuss Single Shot Detectors and MobileNets. When combined together these methods can be used for super fast, real…

马蹄集oj赛(双周赛第二十三次)

目录 数列分割 小码哥的地毯 小码哥的三色墙 palace 高数考试 新全排列 黑白双煞 等差 数三角形 区间修改 相对马高 小码哥剪绳子 数列分割 难度:黄金 时间限制:1秒巴 占用内存:64 M 小码哥给你一个长度为n的数列,求将该数列分割成两个左右两个部分且两…

【CVTE 一面凉经Ⅰ】循环依赖如何解决

目录 一.🦁 开始前的废话二. 🦁 什么是循环依赖?三. 🦁Spring 容器解决循环依赖的原理是什么?五. 🦁 三级缓存解决循环依赖的原理六. 🦁 由有参构造方法注入属性的循环依赖如何解决?七.&#x…