Harbor是由VMWare公司开源的容器镜像仓库。事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,
从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及
审计日志等,足以满足基本企业需求。
官方网站:https://goharbor.io/
GitHub项目地址:https://github.com/goharbor/harbor
Harbor主要有以下部署方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
在Harbor项目的Github Releases页面(https://github.com/goharbor/harbor/releases)下
载安装包,如下:
安装harbor步骤:(安装harbor前先安装docker)
[root@localhost ~]# ls
anaconda-ks.cfg harbor harbor-offline-installer-v2.8.3.tgz #上传镜像
[root@localhost ~]# tar -zxvf harbor-offline-installer-v2.8.3.tgz
[root@localhost ~]# ls
anaconda-ks.cfg harbor harbor-offline-installer-v2.8.3.tgz
[root@localhost ~]# cd harbor
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# ls
common.sh harbor.v2.8.3.tar.gz harbor.yml harbor.yml.tmpl install.sh LICENSE prepare
[root@localhost harbor]# vim harbor.yml
修改harbor.yml配置文件,设置hostname值为访问Harbor的IP地址或者域名,这里设置的是服务器IP,然后将https相关配置注释,这里暂不启用HTTPS访问。
执行prepare脚本,用于生成安装Harbor所需的文件:
[root@localhost harbor]# ./prepare
[root@localhost harbor]# ls
common common.sh docker-compose.yml harbor.v2.8.3.tar.gz harbor.yml harbor.yml.tmpl install.sh LICENSE prepare
再执行install.sh脚本,用于将预先打包的容器镜像导入到本地,并使用Docker Compose启动Harbor多容器服务:
[root@localhost harbor]# ./install.sh
安装成功后,可以通过docker compose ps命令查看所有容器的状态。
验证:
账号:admin 密码:XXXX
新建镜像仓库:
注意:在docker服务器上向harbor服务上传或者拉取镜像
1、由于harbor没有上传443证书,则配置Harbor镜像仓库为安全仓库
[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"],
"insecure-registries":["192.168.183.157"] #ip地址为镜像仓库的地址
}
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# systemctl status docker
2、登陆harbor
[root@localhost tomcat]# docker login 192.168.183.157
Username: admin
Password:Harbor12345
3、查看本地镜像
[root@localhost tomcat]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
java-web-demo v1 6f729b006468 About an hour ago 478MB
tomcat jdk8 a74bcef85aa6 2 hours ago 460MB
web-demo v1 88bb1cc682bf 2 hours ago 142MB
nginx-self 1.25 1a3d8eb2044d 2 hours ago 381MB
nginx latest 605c77e624dd 2 years ago 141MB
mysql 5.7 c20987f18b13 2 years ago 448MB
4、选择需要上传的镜像进行打包
[root@localhost tomcat]# docker tag nginx-self:1.25 192.168.183.157/library/nginx-self:1.25
打包后上传的名字:上传到的仓库ip地址/项目名/需要上传镜像的名字
[root@localhost tomcat]# docker push 192.168.183.157/library/nginx-self:1.25
推送到镜像仓库
5、页面查看
6、从Harbor拉取镜像
[root@localhost ~]# docker pull 192.168.183.157/library/tomcat:jdk8 #拉去镜像仓库种的镜像
[root@localhost ~]# docker run -d 192.168.183.157/library/tomcat:jdk8 #运行镜像
查看镜像的状态是up
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。