搭建Docker私有仓库

目录

背景介绍

学习目的

学习准备

搭建过程


背景介绍

Docker registry是存储Docker image的仓库,运行push、pull、 search 时,是通过Docker daemon与docker registry通信。

Docker Hub(Docker埠,内有大量存储库或叫仓库)是Docker提供的一项服务,用于查找和与您的团队共享容器镜像。它是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发人员、开放源代码项目和独立软件供应商(ISV)在容器中构建和分发代码。

学习目的

了解仓库,掌握搭建私有仓库的方法

学习准备

要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。本实验各主机配置信息如表所

主机名

IP地址

节点角色

registry

自己的主机

私有仓库

node1

其它主机1

客户端1

node2

其它主机2

客户端2

 我的防火墙和selinux已经关闭了

搭建过程

步骤1:在registry主机上利用docker pull命令从Docker Hub拉取registry镜像,并通过docker images命令查看下载的regisry镜像

[root@localhost ~]# hostnamectl set-hostname registry    重启生效

[root@registry ~]# docker pull registry                                拉取镜像

[root@registry ~]# docker images                                      查看镜像列表

REPOSITORY TAG IMAGE ID CREATED SIZE

Registry latest f32a97de94e1 5 months ago 25.8MB

 步骤2:通过docker run命令启动一个registry容器,并挂载目录,利用容器提供私有仓库的服务,并通过docker ps命令查看registry容器是否运行。

[root@registry ~]# docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry   启动容器

c93669d06c5545b1f90fcb721bdb4da43b7add9fff7ede08b9e58822d1c235d1

You have new mail in /var/spool/mail/root

[root@registry ~]# docker ps -a             看看这个容器是否运行

 当容器正常启动后,对外提供服务通过5000端口映射到docker-registry的5000端口。

步骤4:拉取busybox镜像,修改tag名称后,上传到本地仓库中。

[root@registry ~]# docker pull busybox

[root@registry ~]# docker images

[root@registry ~]# docker tag busybox:latest 192.168.5.100:5000/busybox:latest

 

 步骤5:将镜像192.168.5.100:5000/busybox上传到本地仓库中。

[root@registry ~]# docker push 192.168.5.100:5000/busybox

如果出现上述提示,表示本地仓库默认使用的是https协议进行上传。而当前采用是非https协议上传,可采用步骤6进行处理。 (http是安全的协议)

步骤6:修改/usr/lib/systemd/system/docker.service文件,在ExecStart参数后面添加--insecure-registry 192.168.5.100:5000。

[root@registry ~]# vi /usr/lib/systemd/system/docker.service

 保存退出,重启docker服务---------修改配置文件之后需要重启

[root@registry ~]# systemctl daemon-reload

[root@registry ~]# systemctl restart docker

 重启registry容器

[root@registry ~]# docker restart c93669d06c55

 步骤7:再次上传镜像192.168.5.100:5000/busybox到本地仓库。

[root@registry ~]# docker push 192.168.5.100:5000/busybox

 步骤8:在客户端1和客户端2上修改/usr/lib/systemd/system/目录下的docker.service文件,在ExecStart=/usr/bin/dockerd后面添加--insecure-registry 192.168.5.100:5000,保存后并重启docker服务

客户端1:

[root@localhost ~]# hostnamectl set-hostname node1

[root@node1 ~]# vi /usr/lib/systemd/system/docker.service

// 修改ExecStart参数,修改完后,内容如下

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.5.100:5000

 保存退出,重启docker服务

[root@node1 ~]# systemctl daemon-reload

[root@node1 ~]# systemctl restart docker

 客户端2:

[root@localhost ~]# hostnamectl set-hostname node2

[root@node2 ~]# vi /usr/lib/systemd/system/docker.service

// 修改ExecStart参数,修改完后,内容如下

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.5.100:5000

保存退出,重启docker服务

[root@node2 ~]# systemctl daemon-reload

[root@node2 ~]# systemctl restart docker

步骤9:在客户端node1和node2上拉取私有仓库中的busybox镜像。

[root@node1 ~]# docker pull 192.168.5.100:5000/busybox

[root@node1 ~]# docker images

-v   主机到容器的映射(卷的挂载:主机和容器的共享)

创建容器一定要看成没成功

curl命令  访问浏览器命令

仓库装软件,配置-------------

localhost  本机   127.0.0.1

改配置,重启容器

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring源码整体脉络介绍及源码编译

需完成的任务 类------------------------------------------BeanFactory----------------------------------------->Bean【BeanFactory调用getBean()生产出来的】 BeanFactory Spring顶层核心接口,使用了简单工厂模式【根据名字,生产出不同的Bean…

你的隐私被泄漏了吗

近日,某高校毕业生在校期间窃取学校内网数据,收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注。在大数据时代,算法分发带来了隐私侵犯,在享受消费生活等便捷权利的同时,似乎又有不…

Unable to reload Maven project

原因就是IDEA的版本与Maven的版本冲突。 IDEA的日志报错如下: 我当时IDEA是2020版,Maven是3.8.5. 后来把Maven换成3.6.3版本就可以了。

CSS选择器常见用法

目录 一.总体分类 二.基础选择器 (1)标签选择器 (2)类选择器 (3)id选择器 (4)通配符选择器(特殊) 三.复合选择器 (1)后代选择器 &…

【Kubernetes资源篇】Secret加密数据配置管理详解

文章目录 一、Secret加密配置理论知识1、Secret是什么?2、Secret和configMap的区别3、Secret的参数和类型 二、实践:使用Secret进行加密1、方式一:环境变量方式引入2、方式二:卷挂载方式引入 一、Secret加密配置理论知识 1、Secret是什么?…

VM虚拟机端口映射接收CS弹反木马

VM虚拟机端口映射接收CS弹反木马 1. 前言1.1. 前期准备1.2. 整体思路 2. 整体操作流程2.1. 虚拟机配置2.2. WIFI路由器设置2.3. CS设置2.3.1. 创建本地监听器2.3.2. 创建生成木马监听器2.3.3. 创建反弹木马2.3.4. 查看效果 1. 前言 在日常的对客户的内网进行渗透的时候&#xf…

爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析

文章目录 前言准备工作爬取天气数据可视化分析完整代码解释说明 运行效果完结 前言 天气变化是生活中一个重要的因素,了解天气状况可以帮助我们合理安排活动和做出决策。本文介绍了如何使用Python编写一个简单的天气数据爬虫程序,通过爬取指定网站上的天…

【论文阅读】一种利用地理实体目标特征的道路场景激光点云配准方法

目录 1 引 言2 道路场景点云配准方法2.1 车载点云分段2.2 配准基元的选取2.3 多尺度关键点的提取2.4 渐进式配准 3 实验与分析3.1 实验数据3.2 关键点提取结果3.3 配准结果 4 结论5 参考文献 摘 要 针对车载移动测量系统不同时期获取的道路场景点云位置一致性差、车载激光点云与…

Windows环境部署MySQL_5.7的安装、测试连接以及卸载全过程实操手册

前言: 前面记录了双环境的oracle的安装卸载及相关测试评估,这里记录下 MySQL5.7社区免费版的部署手册。 什么是 MySQL MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关系型数…

【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据缓存不一致分析)

一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据缓存不一致问题分析) 数据不一致的原因逻辑失败导致的数据不一致物理失败导致的数据不一致 数据一致性的解决方案消费消息异步删除缓存主要流程如下图所示 订阅Binlog利用队列…

盘口策略 | 交易中最重要的是什么?

量化策略开发,高质量社群,交易思路分享等相关内容 『正文』 ˇ 交易中最重要的是什么? 当然是Timing啊~~~ “时机是这个世界上最难得到,又最容易失去的东西”夫难得而易失者,时也;时至而不旋踵者,机也,故圣人常顺时…

VScode中的插件

开启VScode中最简单的内部浏览器 - 可以访问外网 - Browser Preview 插件安装: 插件使用:由下角 - 状态栏 - VS Browser按钮 live sass compiler-vscode插件将scss编译为css live sass compiler是VSCode扩展,可以实时地将SASS / SCSS文件…