学习docker第四弹------docker将本地镜像发布到私有库

目录

  • 1 是什么
  • 2 使用
    • 2.1 下载镜像
    • 2.2 运行私有库Registry,相当于本地有个私有Docker hub
    • 2.3 案例演示创建一个新镜像,ubuntu安装ifconfig命令
      • 2.3.1 从Hub上下载ubuntu镜像到本地并成功安装
      • 2.3.2 原始的ubuntu镜像是不带着ifconfig命令的
      • 2.3.3 外网连通的情况下,安装ifconfig命令并测试通过
      • 2.3.4 安装完成后,commit新镜像
      • 2.3.5 启动新镜像和原来的进行对比
    • 2.4 curl验证私服库上有什么镜像
    • 2.5 将新镜像ifubuntu:1.2修改符合私服规范的Tag
    • 2.6 修改配置文件使之支持http
    • 2.7 push推送到私服库
    • 2.8 curl验证私服库上有什么镜像
    • 2.9 pull到本地运行
  • 3 后记

1 是什么

Dockerhub、阿里云这样的公共仓库镜像可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库给团队使用,基于公司内部项目构建镜像。

Docker Registry是官方提供的工具,可以用于构建私有镜像仓库。

2 使用

2.1 下载镜像

先将仓库镜像下载下来,注意你要提交镜像的时候,要看看自己的私有仓库是否启动

docker images
docker pull registry

在这里插入图片描述
在这里插入图片描述

2.2 运行私有库Registry,相当于本地有个私有Docker hub

docker run -d -p 5000:5000 -v /sunshine/myregistry --privileged=true registry

在这里插入图片描述

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调

2.3 案例演示创建一个新镜像,ubuntu安装ifconfig命令

2.3.1 从Hub上下载ubuntu镜像到本地并成功安装

docker pull ubuntu
docker images

在这里插入图片描述

2.3.2 原始的ubuntu镜像是不带着ifconfig命令的

docker run -it ubuntu /bin/bash
ifconfig

在这里插入图片描述

2.3.3 外网连通的情况下,安装ifconfig命令并测试通过

apt-get update
apt-get install net-tools

在这里插入图片描述

ifconfig

在这里插入图片描述

2.3.4 安装完成后,commit新镜像

docker ps
docker commit -m="ifconfig cmd add" -a="ada" 22d3838b5baf ifubuntu:1.2
docker images

在这里插入图片描述

2.3.5 启动新镜像和原来的进行对比

docker run -it ifubuntu:1.2 /bin/bash
ifconfig

在这里插入图片描述

2.4 curl验证私服库上有什么镜像

注意这里要填写宿主机的IP地址,使用ifconfig命令即可

 curl -XGET http://192.168.91.131:5000/v2/_catalog

在这里插入图片描述

2.5 将新镜像ifubuntu:1.2修改符合私服规范的Tag

docker tag ifubuntu:1.2 192.168.91.131:5000/ifubuntu:1.2
docker images

在这里插入图片描述

2.6 修改配置文件使之支持http

vim /etc/docker/daemon.json

在配置文件中添加如下内容

"insecure-registries":["192.168.91.131:5000"]

在这里插入图片描述
注意这里有个 , 符号,不然会出错
在这里插入图片描述
这里记得一定要重启服务

systemctl restart docker

2.7 push推送到私服库

既然重启了服务,就要重新运行仓库

docker run -d -p 5000:5000 -v /sunshine/myregistry --privileged=true registry
docker push 192.168.91.131:5000/ifubuntu:1.2
docker images

在这里插入图片描述

2.8 curl验证私服库上有什么镜像

curl -XGET http://192.168.91.131:5000/v2/_catalog

在这里插入图片描述

2.9 pull到本地运行

docker images
docker rmi 192.168.91.131:5000/ifubuntu:1.2
docker images

在这里插入图片描述

docker pull 192.168.91.131:5000/ifubuntu:1.2
docker images
docker run -it 3bc67c93eb95 /bin/bash
ifconfig

在这里插入图片描述

3 后记

今天天气可真是太冷了~~~~~~~~

你说一个男孩子约我喝咖啡是什么意思呢

不知道,先喝喝看看叭,有点紧张,不太会和男孩子相处

BB,有用的话记得给我点个赞赞~

谢谢啦~

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

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

相关文章

在线绘图工具drawio,visio的平替

Draw.io:灵活高效的在线绘图工具推荐 在工作和项目管理中,流程图、架构图和思维导图等可视化图表是非常重要的沟通工具。Draw.io(现更名为diagrams.net)是一个强大且免费的在线绘图工具,适用于创建各种类型的图表。它功…

ComfyUI一键更换服装:IP-Adapter V2 + FaceDetailer(DeepFashion)

在这篇文章中,我们将探索如何使用新版的IP-Adapter和ComfyUI软件为人物进行换装。 整个过程非常简单,仅需要两张图片:一张服装图片和一张人物图片。 通过一系列节点的操作,ComfyUI就会把这个服装换到人物身上,并利用…

施磊C++ | 进阶学习笔记 | 5.设计模式

五、设计模式 这里贴出常用的23中设计模式。视频课程仅包含部分,剩余部分需要找其他课程或者资料进行自学。 1.设计模式三大类型概述 C设计模式是一套被广泛认可的用于解决常见软件设计问题的最佳实践,它们可以帮助开发者编写更加清晰、可维护和可扩展…

小白投资理财 - 解读市净率

小白投资理财 - 解读市净率 什么是市净率公式 市净率的解释市净率的意义市净率的局限性市净率的应用场景市净率举例计算市净率如何解读分析可能的情景对比其他行业公司 市净率与其他估值指标的结合总结 什么是市净率 市净率(Price-to-Book Ratio,简称 P…

飞腾X100适配Ubuntu说明

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…

强化学习的数学原理-01基本概念

state: T h e s t a t u s o f a g e n t w i t h r e s p e c t t o t h e e n v i r o n m e n t The \quad status \quad of \quad agent \quad with \quad respect \quad to \quad the \quad environment Thestatusofagentwithrespecttotheenvironment (agent 相对于环境的…

WPF 中的 StackPanel 详解

Windows Presentation Foundation(WPF)是微软开发的一种用于创建桌面客户端应用程序的用户界面框架。WPF 提供了一套丰富的控件和布局能力,使得开发者可以轻松构建出功能强大、视觉优美的用户界面。在 WPF 的布局系统中,StackPane…

【原创】java+ssm+mysql水费管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

StarRocks大批量数据导入方案-使用 Routine Load 导入数据

本文详细介绍如何使用Routine Load 导入数据 一、准备工作 1.1 安装基础环境 主要是安装StarRocks和Kafka,本文直接跳过不做详细介绍~ 二、概念及原理 2.1 概念 导入作业(Load job) 导入作业会常驻运行,当导入作业的状态为 R…

【Linux】了解pthread线程库,清楚并没有线程创建接口,明白Linux并不存在真正意义的线程(附带模型图详解析)

前言 大家好吖,欢迎来到 YY 滴Liunx系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

数字化转型的成功路径:最佳实践与实施技巧深度解析

在全球化和技术革命的双重推动下,企业正面临前所未有的市场竞争和运营压力。为了适应这种变化,企业纷纷开始了数字化转型的进程,希望借助技术力量提升效率、推动创新并保持竞争优势。尽管数字化转型的趋势已不可逆,但如何真正落地…

探索 Python 中的 XML 转换利器:xml2dict

文章目录 **探索 Python 中的 XML 转换利器:xml2dict**一、背景介绍二、xml2dict 是什么?三、如何安装 xml2dict?四、基本用法五、实际应用场景六、常见问题及解决方案七、总结 探索 Python 中的 XML 转换利器:xml2dict 一、背景…

软考(网工)——局域网和城域网

文章目录 🕐局域网基础1️⃣局域网和城域网体系架构 IEEE(负责链路层)2️⃣局域网拓扑结构 🕑CSMA/CD1️⃣CSMA/CD2️⃣CSMA/CD三种监听算法3️⃣冲突检测原理 🕒二进制指数退避算法1️⃣ 二进制指数退避算法 &#x1…

在SpringBoot项目中利用Redis实现防止订单重复提交

文章目录 0. 前言1. 常见的重复提交订单的场景2. 防止订单重复提交的解决方案2.1 前端(禁用按钮)2.2 后端 3. 在SpringBoot项目中利用Redis实现防止订单重复提交3.1 引入依赖3.2 编写配置文件3.3 OrderService.java3.4 OrderController.java3.5 index.ht…

HTML快速入门--第一节--五个基本标签

一、网络编程的三大基石 1.1 url 统一资源定位符: 网址:整个互联网中可以唯一且准确的确定一个资源的位置 (url项目外) 网址:https://www.baidu.com/ https://www.baidu.com/ 协议://ip端口/项目名/页面名 协议:交通法规获取资源 ip端口 (域名&…

Java | Leetcode Java题解之第479题最大回文数乘积

题目: 题解: class Solution {public int largestPalindrome(int n) {if (n 1) {return 9;}int upper (int) Math.pow(10, n) - 1;int ans 0;for (int left upper; ans 0; --left) { // 枚举回文数的左半部分long p left;for (int x left; x >…

Redis实现全局ID生成器

全局ID生成器 为什么要用全局ID生成器 1.当我们使用数据库自增来实现id的生成时,规律过于明显,会给用户暴露很多信息 2.当我们订单量过大时无法用数据库的一张表来存放订单,如果两张表的id都是自增的话,id就会出现重复 什么是全局ID生成器 全局ID生成器,是一种在分布式系统…

LabVIEW提高开发效率技巧----用户权限控制

在LabVIEW开发中,用户权限控制是一个重要的设计模块,尤其在多用户系统中,它可以确保数据安全并控制不同用户的操作权限。为了实现用户权限控制,可以通过角色与权限管理模块来进行设计和实施。以下将从多个角度详细说明如何在LabVI…

房子,它或许是沃土

刚成家,来客时,它是客房 成家后,没小孩,它是书房 有小孩,未分房,它暂且是书房 孩子大些,它是孩子们埋下梦想种子,生根发芽的地方

基于SSM果蔬经营系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商品信息管理,类型管理,系统管理,订单管理 前台账号功能包括:系统首页,个人中心,商品信息,广告…