Docker Registry 本地镜像发布到私有库

news/2024/11/24 9:26:02/
  • 本地镜像发布到私有库流程
  • 是什么
  • 1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
  • 2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
  • Docker Registry是官方提供的工具,可以用于构建私有镜像仓库
  • 将本地镜像推送到私有库
    • 下载镜像Docker Registry
docker pull registry 
  • 运行私有库Registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /myregistry/:/tmp/registry --privileged=true registry

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

  • 案例演示创建一个新镜像,ubuntu安装ifconfig命令
    • 原始的Ubuntu镜像是不带着ifconfig命令的
    • Hub上下载ubuntu镜像到本地并成功运行
    • 原始的Ubuntu镜像是不带着ifconfig命令的

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

 docker容器内执行上述两条命令:

apt-get updateapt-get install net-tools

安装完成后,commit我们自己的新镜像

公式:docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

命令:在容器外执行,记得

docker commit -m="ifconfig cmd add" -a="wx" a69d7c825c4f wxubuntu:1.2

启动我们的新镜像并和原来的对比

 1 官网是默认下载的Ubuntu没有ifconfig命令

2我们自己commit构建的新镜像,新增加了ifconfig功能,可以成功使用。

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

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

可以看到,目前私服库没有任何镜像上传过

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

按照公式: docker   tag   镜像:Tag   Host:Port/Repository:Tag

自己host主机IP地址,填写你们自己的,不要粘贴错误

使用命令 docker tag zzyyubuntu:1.2 这个镜像修改为192.168.111.162:5000/zzyyubuntu:1.2

docker tag  myubuntu:1.2  192.168.239.133:5000/myubuntu:1.2

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

别无脑照着复制,registry-mirrors 配置的是国内阿里提供的镜像加速地址,不用加速的话访问官网的会很慢。

2个配置中间有个逗号 ','别漏了,这个配置是json格式的。

2个配置中间有个逗号 ','别漏了,这个配置是json格式的。

2个配置中间有个逗号 ','别漏了,这个配置是json格式的。

vim命令新增如下红色内容:vim /etc/docker/daemon.json

 上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

这里报错了

 先去docke ps -a 查看一下

docker里registry端口映射服务关闭了

解决:开启映射

 

  • push推送到私服库curl验证私服库上有什么镜像
  • pull到本地并运行

 


http://www.ppmy.cn/news/43555.html

相关文章

代码随想录二刷day05 | 哈希表之242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

当遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法了 二刷day05242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和242.有效的字母异位词 题目链接 解题思路: class Solution { public:bool isAnagram(string s, string t)…

【操作系统】【进程管理】PCB概念

进程控制块(Process Control Block,PCB)是操作系统中用于管理进程的数据结构,它包含了进程的所有状态信息。PCB的大小取决于操作系统的实现和支持的功能,不同的操作系统和不同的进程可能有不同的PCB大小。 一般来说&a…

体验编写Vue框架项目实例的详细步骤(包括git仓库使用)

一、查看项目设计图 二、确定项目开发技术栈 vue-cli3 element-ui axios vuex 三、页面布局 四、查看接口文档 五、开始开发 (五).搭建项目结构 1.创建项目 vue create godlike 创建项目的文章在:Vue自主搭建项目:Man…

27.Linux网络编程 掌握三次握手建立连接过程掌握四次握手关闭连接的过程掌握滑动窗口的概念掌握错误处理函数封装实现多进程并发服务器实现多线程并发服务器

基本概念叫协议 什么叫协议? 协议是一个大家共同遵守的一个规则, 那么在这个网络通信当中,其实就是双方通信和解释数据的一个规则,这个概念 你也不用记,你只要心里明白就可以了, 分层模型, 物数网传会表应…

Excel玩转自然语言查询

ChatGPT火出圈,人类被人工智能替代又成为热门话题。有人欢喜,有人忧,也有人不以为意,觉得离自己工作远着呢,比如现在是用Excel做报表,有本事你动动嘴就直接把Excel里面的数据查询出来啊。 你可别说&#xf…

应届生,实力已超6年,太卷了!

你好,我是田哥今晚上,给一位朋友做模拟面试,原本说好的90分钟左右,结果整了2个多小时。很多人估计也很好奇,我们这两个多小时聊聊什么,下面我给大致总结一下:面试技巧面试中,我们回答…

【AXU3EG】UltraScale+ MPSoC以及开发板介绍

Copyright © 2012-2020 芯驿电子科技(上海)有限公司 UltraScale MPSoC Zynq UltraScale MPSoC 系列是 Xilinx 第二代平台,其在 FPGA 内部集成了完整 ARM 处理子系统(PS),包含了四核 Cortex-A53 加双核…

红黑树探险:从理论到实践,一站式掌握C++红黑树

红黑树揭秘:从理论到实践,一站式掌握C红黑树引言为什么需要了解红黑树?红黑树在现代C编程中的应用场景树与平衡二叉搜索树树的基本概念:二叉搜索树的定义与性质:平衡二叉搜索树的特点与需求:红黑树基础红黑…