Docker系列教程03-Docker私有仓库搭建(registry)(1),2024年最新深度剖析原理

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

仓库(Repository)是集中存放镜像的地方,又分为公共镜像和私有仓库。

当我们执行docker pull xxx的时候,它实际上是从registry.docker.com这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目上传到公共仓库进行管理,所以为了更多管理镜像,Docker允许我们搭建本地私有仓库。

私有仓库最常用的就是registryHarbor两种,那接下来详细介绍如何搭建私有仓库。

搭建registry私有仓库

Docker 官方提供了一个搭建私有仓库的镜像registry,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。代码如下:

1、下载镜像
docker pull registry:2

2、运行容器
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

registry服务默认将上传的镜像保存在容器的/var/lib/registry,使用-v参数将容器的/var/lib/registry目录映射到本地/opt/registry目录。即可实现将镜像保存到宿主机/opt/registry目录。

浏览器访问http://宿主机IP:5000/v2,显示“{}” 说明registry运行正常。

上传镜像到私有仓库

现在通过push将镜像上传至私有仓库,具体步骤如下:

1、下载docker hub官方镜像
docker pull ubuntu

2、将镜像标志为要推送到私有仓库:
docker tag ubuntu:latest 10.43.187.251:5000/myubuntu:v1

3、上传镜像到私有仓库
[root@qll251 ~]# docker push 10.43.187.251:5000/myubuntu:v1
The push refers to repository [10.43.187.251:5000/myubuntu]
Get https://10.43.187.251:5000/v2/: http: server gave HTTP response to HTTPS client

注意,上传镜像时报错了:http: server gave HTTP response to HTTPS client

出现这个问题原因是:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有仓库交互时出现以上错误。

解决办法:

1、编辑 /etc/docker/daemon.json,在文件中写入:

{ "insecure-registries":["10.43.187.251:5000"] }

2、重启生效:

systemctl daemon-reload
systemctl restart docker

再次上传,问题解决:



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/0ba3c09fdb637f3251a4742045445ec3.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/321400bd08597268cda5d4725eeae983.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-mrwdtS5q-1713320086600)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!下面是一个简单的私有Docker镜像仓库搭建教程: 1. 安装DockerDocker Compose:首先,确保你的主机上已经安装了DockerDocker Compose。你可以根据你的操作系统文档中的步骤进行安装。 2. 创建一个目录:在你的主机上创建一个目录来存储你的私有镜像仓库的数据。例如,你可以创建一个名为`docker-registry`的目录。 3. 编写docker-compose.yml文件:在你的`docker-registry`目录下创建一个名为`docker-compose.yml`的文件,并添加以下内容: ```yaml version: '3.8' services: registry: restart: always image: registry:2 ports: - 5000:5000 volumes: - ./data:/var/lib/registry ``` 这将启动一个名为`registry`的容器,使用Docker官方提供的`registry:2`镜像。容器将通过`5000`端口对外提供服务,并将数据存储在`./data`目录中。 4. 启动私有镜像仓库:在你的`docker-registry`目录下运行以下命令启动私有镜像仓库: ```bash docker-compose up -d ``` 这将在后台启动私有镜像仓库容器,并将其绑定到`5000`端口。 5. 配置客户端:现在你的私有镜像仓库已经启动,你可以配置Docker客户端来使用它。在你的客户端主机上执行以下命令: ```bash echo "{ \"insecure-registries\": { \"localhost:5000\": {} } }" > /etc/docker/daemon.json sudo systemctl restart docker ``` 这将在`/etc/docker/daemon.json`文件中添加一个配置,以允许Docker客户端信任私有镜像仓库的地址。 现在,你就可以使用私有镜像仓库了。你可以使用`docker push`命令将本地构建的镜像推送到私有仓库,使用`docker pull`命令从私有仓库拉取镜像。 希望这个教程对你有所帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值