Docker企业级仓库Harbor的安装配置与使用
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
部署环境
安装docker和docker-compose
1 | yum - y install docker docker - compose |
下载habor包
1 | wget https: / / storage.googleapis.com / harbor - releases / release - 1.5 . 0 / harbor - offline - installer - v1. 5.0 - rc2.tgz |
更多包下载地址
1 | https: //github.com/goharbor/harbor/releases |
解压
1 | tar - xf harbor - offline - installer - v1. 5.0 - rc2.tgz |
进入解压目录修改配置文件harbor.cfg修改
修改主机名,可以设置为本机的IP地址
1 | hostname = 10.13 . 51.55 |
修改数据挂载目录,默认为目录/data
1 | data_volume: /opt/data |
PS:1.10版本配置文件为harbor.yml 如果不设置https还需要注释配置文件中有关https配置
配置docker
地址和上面配置的地址一致
1 2 3 4 5 | #因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机!#当然,harbor也可以设置为https,这个后续文章中再列出操作方法吧! #vim /usr/lib/systemd/system/docker.service ExecStart = / usr / bin / dockerd - - insecure - registry = 10.13 . 51.55 #只加上--insecure-registry这个参数即可。#重启docker:<br>#systemctl daemon-reload<br>#systemctl restart docker.service |
设置可执行权限
1 | chmod +x install.sh prepare |
执行安装脚本
1 | . / install.sh |
如果安装报错
1 | install.sh:行78: ./prepare: 权限不够 |
可能是可执行文件prepare权限不够
1 | chmod +x prepare |
执行完毕生成docker-compose.yml文件在设置的数据目录也会生成对应文件
如果镜像harbor-log在不停重启
使用以下命令查看日志
1 2 3 | sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper sudo: unable to change expired password: Authentication token manipulation error Changing password for root. |
解决方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 导出harbor-log容器 mkdir -p /tmp/harbor-log cd /tmp/harbor-log docker export harbor-log -o harbor-log.tar # 解压tar包 tar xvfp harbor-log.tar # 修改shadow文件的值 sed -i 's/:90:/:99999:/g' /tmp/harbor-log/etc/shadow # 将修改后的shadow文件挂载到harbor-log容器内 mkdir -p /opt/harbor-log-etc/ cp /tmp/harbor-log/etc/shadow /opt/harbor-log-etc/shadow # 修改docker-composr.yml文件,harbor-log容器的volumes配置,增加以下配置 - type: bind source: /opt/harbor-log-etc/shadow target: /etc/shadow # 重启harbor即可 docker-compose down docker-compose up -d |
增加的配置如下图所示
2024-12-10补充开始
如果出现以上错误则在启动时会报错如下
1 | Error response from daemon: failed to create task for container: failed to initialize logging driver: dial tcp 127.0.0.1:1514: connect: connection refused |
2024-12-10补充结束
会自动下载镜像以及配置环境
查看允许了6个容器
容器的启动与关闭,在目录里面执行
1 | docker - compose stop / start |
打开浏览器输入ip地址浏览
登录默认用户名和密码是 admin/Harbor12345
配置https登录
修改配置
1 2 3 4 | ui_url_protocol = https #设置https认证 ssl_cert = / data / cert / bbd100.com_bundle.crt #设置ssl证书位置 ssl_cert_key = / data / cert / bbd100.com.key |
其余安装配置方式与http方式相同
使用
push镜像
新建用户
新建项目common
把刚刚创建的用户假如common项目
为需要上传的镜像打tag
1 | tag nginx: 1.11 . 5 10.13 . 74.222 / common / nginx |
nginx为镜像名 : 后面跟tag版本 放置在服务器10.13.74.222的项目common下命名为nginx
push提交
1 | docker push 10.13 . 74.222 / common / nginx |
在web界面查看
参考:https://www.cnblogs.com/huangjc/p/6266564.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!