Docker之Registry私有仓库+Harbor私有仓库的搭建
发表于:2024-09-26 作者:千家信息网编辑
千家信息网最后更新 2024年09月26日,博文大纲:一、搭建Registry私有仓库二、配置Harbor私有仓库这篇博文写的是两种不同的搭建Docker私有仓库的方法,都必须要基于一个Docker服务器上,相比较而言,Harbor功能更强大些
千家信息网最后更新 2024年09月26日Docker之Registry私有仓库+Harbor私有仓库的搭建
博文大纲:
- 一、搭建Registry私有仓库
- 二、配置Harbor私有仓库
这篇博文写的是两种不同的搭建Docker私有仓库的方法,都必须要基于一个Docker服务器上,相比较而言,Harbor功能更强大些。
之前详细写过Registry私有仓库的搭建方法,这里的Registry只是有一点配置不一样而已,若要搭建Registry私有仓库,最好结合:Docker镜像的创建+构建私有仓库及其使用方法这篇博文来,对比其不一样的地方,选择适合自己的方案。
一、搭建Registry私有仓库
环境准备:
- 两台centos 7.3,一台为Docker私有仓库服务器,另一台为测试端,两台须可ping通;
- 参考博文:Docker的安装详细配置,对两台服务器进行安装docker环境。
1、开始配置第一台Docker私有仓库服务器:
[root@docker ~]# docker pull registry #下载registry镜像[root@docker ~]# docker run -tid --name registry --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry#运行该镜像,各个选项含义如下:# -tid:以后台持久运行,并分配一个可交互的为终端# --name registry :给容器定义一个名字# --restart=always:该容器可以随着docker服务的启动而启动# -p:将容器的端口映射到宿主机,冒号前面是宿主机的端口,冒号后面是容器的端口,registry的默认端口是5000# -v:将宿主机的目录挂载到容器中,冒号前面是宿主机的目录,冒号后面是容器中的目录[root@docker ~]# docker images #查看当前的镜像REPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 0f3e07c0138f 2 weeks ago 220MBregistry latest f32a97de94e1 7 months ago 25.8MB[root@docker ~]# docker tag centos:latest 192.168.20.7:5000/centos:latest #更改镜像名称,以便符合私有仓库名称规范#注:私有仓库镜像的命名规则:192.168.20.7:5000/XXX(宿主机的IP:5000端口/镜像名称)[root@docker ~]# vim /usr/lib/systemd/system/docker.service #更改docker的配置文件,以便指定私有仓库ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000#定位到上面那行,在后面添加"--insecure-registry"并指定私有仓库的IP及端口,然后保存退出即可 [root@docker ~]# systemctl daemon-reload #重载配置文件[root@docker ~]# systemctl restart docker #重启docker服务[root@docker ~]# docker push 192.168.20.7:5000/centos:latest #上传镜像至私有仓库[root@docker ~]# curl 192.168.20.7:5000/v2/_catalog #查看私有仓库中的镜像{"repositories":["centos"]}[root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list #查看镜像的详细信息{"name":"centos","tags":["latest"]}
2、第二台Docker服务器进行如下操作:
[root@docker02 ~]# vim /usr/lib/systemd/system/docker.service #编辑主配置文件ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000#定位到上面那行,添加"--insecure-registry"指定私有仓库的IP及参数#添加完成后,保存退出即可[root@docker02 ~]# systemctl daemon-reload #重载配置文件[root@docker02 ~]# systemctl restart docker #重启docker服务[root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest#下载私有仓库的中的镜像[root@docker02 ~]# docker images #确认下载的镜像
二、配置Harbor私有仓库
Harbor私有仓库和第一个Registry私有仓库相比较而言,功能强大很多,并且支持web图形化管理,推荐使用。
环境和搭建Registry的一样,如下:
- 两台centos 7.3,一台为Docker私有仓库服务器,另一台为测试端,两台须可ping通;
- 参考博文:Docker的安装详细配置,对两台服务器进行安装docker环境。
1、打开github.com官网,在登录页面的右上角搜索compose找到docker/compose再找releases,(网址:https://github.com/docker/compose/releases) 如下:
复制自己所需版本下提供的两条命令,在第一台Docker服务器上依次进行操作:
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 #安装依赖包[root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose#复制官网上的上述命令[root@docker ~]# chmod +x /usr/local/bin/docker-compose #赋予该命令执行权限[root@docker ~]# docker-compose -version #查看其版本信息docker-compose version 1.24.1, build 4667896b
2、去github官网搜索harbor,再点击goharbor/harbor,再点击"releases",根据自己所需,下载相应的版本,上传至服务器(网址如下:https://github.com/goharbor/harbor/releases 也可下载在线安装的包,我没试过,可自行尝试),如下:
[root@docker ~]# tar zxf harbor-offline-installer-v1.7.4.tgz -C /usr/src#将下载的安装包解压到指定目录[root@docker src]# cd /usr/src/harbor/ #切换至解压后的目录中[root@docker harbor]# vim harbor.cfg #编辑这个配置文件 ..............#省略部分内容hostname = 192.168.20.7 #将hostname更改为本机IPharbor_admin_password = Harbor12345 #这行指定的是登录harbor的登录名及密码#默认用户为"admin",密码为"Harbor12345" ..............#省略部分内容[root@docker harbor]# ./install.sh #执行自带的安装脚本 [root@docker harbor]# netstat -antp | grep 80 #确定80端口正在监听[root@docker harbor]# vim /usr/lib/systemd/system/docker.service #编辑docker主配置文件ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:80#定位到该行,添加"--insecure-registr"以便指定harbor的IP及其监听端口[root@docker harbor]# systemctl daemon-reload #重新加载配置文件[root@docker harbor]# systemctl restart docker #重启docker服务[root@docker harbor]# docker-compose stop #停止所有容器[root@docker harbor]# docker-compose start #启动所有容器
3、使用浏览器访问harbor服务器的IP地址,使用配置文件中指定的用户名及密码登录(默认用户为"admin",密码为"Harbor12345"):
**
4、点击"新建项目":
5、定义项目名称:
6、回到Harbor服务器,开始想Harbor上传镜像:
[root@docker harbor]# docker login -u admin -p Harbor12345 192.168.20.7:80 #命令行登录到harbor[root@docker harbor]# docker tag centos:latest 192.168.20.7:80/test/centos:latest #更改镜像名称#注意要上传至harbor仓库的命名规范,其中test是刚才在harbor创建的项目[root@docker harbor]# docker push 192.168.20.7:80/test/centos:lates #上传至harbor
7、测试,第二台Docker的测试端配置如下:
[root@docker02 ~]# vim /usr/lib/systemd/system/docker.service #编辑其配置文件ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:80#指定Harbor服务器的IP地址及80端口[root@docker02 ~]# systemctl daemon-reload[root@docker02 ~]# systemctl restart docker #重启docker[root@docker02 ~]# docker login -u admin -p Harbor12345 192.168.20.7:80#登录到私有仓库[root@docker02 ~]# docker pull 192.168.20.7:80/test/centos:latest #至此即可下载第一台docker服务器上传的镜像
-------- 本文至此结束,感谢阅读 --------
仓库
私有
服务
配置
镜像
服务器
文件
端口
容器
登录
名称
宿主
宿主机
目录
冒号
命令
密码
环境
测试
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云服务器数据库管理密码怎么查
软件开发培训评价
SCANDAL美剧软件开发
千方百剂iii数据库连接
临沂企业党建软件开发系统
传奇数据库未连接
文件夹共享到服务器
网络安全 预案
晚上睡觉怎么进入数据库
收费站关于网络安全自查报告
达梦数据库dca培训分享
电脑服务器远程连接不上
大学生学习网络安全教育的意义
c 数据库连接文件
年服务器
金山区优势软件开发服务商是什么
花雨庭服务器厉害吗
服务器管理人员职责
网络软件开发未来的发展
sql 数据库 质疑
服务器安全狗官网 下载
佳遥网络技术工作室
网络安全法对定级备案的要求
黑龙江数据库防护箱生产厂家
网络安全培养专业人才
北京康为网络技术
软件服务器的龙头
服务器内存用法
暴雪战网为什么连不上服务器
eda软件开发考研