harbor1.7.1的访问报错502 bad gateway
harbor
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
项目地址:https://gitcode.com/gh_mirrors/ha/harbor
免费下载资源
·
背景:
在访问harbor镜像仓库时提示报错如下:
问题分析:
根据提供的报错内容来看时harbor服务的nginx组件服务异常了的,导致无法访问harbor服务,查看harbor服务结果如下:
service@harbor:~/harbor$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-core /harbor/start.sh Up
harbor-db /entrypoint.sh postgres Up 5432/tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Restarting
nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
registry /entrypoint.sh /etc/regist ... Up 5000/tcp
registryctl /harbor/start.sh Up
根据docker-compose ps查询的内容来看,是harbor-portal组件服务异常了,导致了nginx组件服务也异常了。
这时候查看harbor服务各个组件的健康状态情况,通过docker ps服务查看
service@harbor:~/harbor$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3fc9f7342c5d goharbor/nginx-photon:v1.7.1 "nginx -g 'daemon ..." 3 months ago Up 13 hours (unhealthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
6eee31ef2bfc goharbor/harbor-jobservice:v1.7.1 "/harbor/start.sh" 3 months ago Up 13 hours harbor-jobservice
321ef98c530a goharbor/harbor-portal:v1.7.1 "nginx -g 'daemon ..." 3 months ago Restarting (1) 6 hours ago harbor-portal
fed5f6eaf486 goharbor/harbor-core:v1.7.1 "/harbor/start.sh" 3 months ago Up 13 hours (healthy) harbor-core
122bbc2f6b56 goharbor/harbor-registryctl:v1.7.1 "/harbor/start.sh" 3 months ago Up 13 hours (healthy) registryctl
7be0ed1ad358 goharbor/harbor-db:v1.7.1 "/entrypoint.sh po..." 3 months ago Up 13 hours (healthy) 5432/tcp harbor-db
2448c27d1db9 goharbor/registry-photon:v2.6.2-v1.7.1 "/entrypoint.sh /e..." 3 months ago Up 13 hours (healthy) 5000/tcp registry
d7a2691f9a2c goharbor/harbor-adminserver:v1.7.1 "/harbor/start.sh" 3 months ago Up 13 hours (healthy) harbor-adminserver
d987bcb50630 goharbor/redis-photon:v1.7.1 "docker-entrypoint..." 3 months ago Up 13 hours 6379/tcp redis
d7df267a0dc9 goharbor/harbor-log:v1.7.1 "/bin/sh -c /usr/l..." 3 months ago Up 13 hours (healthy) 127.0.0.1:1514->10514/tcp harbor-log
这里可以发现nginx处于unhealthy,不健康的状态。
这时候需要分析harbor-portal组件服务为什么报错了,因为harbor使用了syslog服务作为存放日志,所以我们只需要到/var/log/harbor目录下找到对应的服务日志文件查看即可。
service@harbor:/var/log/harbor$ tail -1000f portal.log
........
Jun 4 03:58:54 localhost portal[119121]: 2024/06/03 19:58:54 [emerg] 1#0: mkdir() "/etc//nginx/client_body_temp" failed (13: Permission denied)
Jun 4 03:58:54 localhost portal[119121]: nginx: [emerg] mkdir() "/etc//nginx/client_body_temp" failed (13: Permission denied)
根据日志的提示是portal容器在运行的时候需要创建/etc/nginx/client_body_temp目录,但是提示权限不足无法创建。
问题解决方案:
这里的处理方案就是重新创建portal服务即可。
先停止harbor-portal服务
service@harbor:~/harbor$ docker-compose stop portal
Stopping harbor-portal ... done
查看是否已经停止掉harbor-portal服务
service@harbor:~/harbor$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-core /harbor/start.sh Up
harbor-db /entrypoint.sh postgres Up 5432/tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Exit 1
nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
registry /entrypoint.sh /etc/regist ... Up 5000/tcp
registryctl /harbor/start.sh Up
重建harbor-portal服务
service@harbor:~/harbor$ docker-compose up portal
Creating harbor-portal ... done
harbor-adminserver is up-to-date
registry is up-to-date
harbor-core is up-to-date
Creating harbor-portal ...
Attaching to harbor-portal
harbor-portal | WARNING: no logs are available with the 'syslog' log driver
harbor-portal exited with code 0
验证harbor-portal服务是否恢复,nginx服务是否也是恢复了
service@harbor:~/harbor$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-core /harbor/start.sh Up
harbor-db /entrypoint.sh postgres Up 5432/tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up 80/tcp
nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
registry /entrypoint.sh /etc/regist ... Up 5000/tcp
registryctl /harbor/start.sh Up
service@harbor:~/harbor$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d729ec76f0c goharbor/harbor-portal:v1.7.1 "nginx -g 'daemon ..." 2 minutes ago Up 2 minutes (healthy) 80/tcp harbor-portal
3fc9f7342c5d goharbor/nginx-photon:v1.7.1 "nginx -g 'daemon ..." 3 months ago Up 14 hours (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
6eee31ef2bfc goharbor/harbor-jobservice:v1.7.1 "/harbor/start.sh" 3 months ago Up 14 hours harbor-jobservice
fed5f6eaf486 goharbor/harbor-core:v1.7.1 "/harbor/start.sh" 3 months ago Up 14 hours (healthy) harbor-core
122bbc2f6b56 goharbor/harbor-registryctl:v1.7.1 "/harbor/start.sh" 3 months ago Up 14 hours (healthy) registryctl
7be0ed1ad358 goharbor/harbor-db:v1.7.1 "/entrypoint.sh po..." 3 months ago Up 14 hours (healthy) 5432/tcp harbor-db
2448c27d1db9 goharbor/registry-photon:v2.6.2-v1.7.1 "/entrypoint.sh /e..." 3 months ago Up 14 hours (healthy) 5000/tcp registry
d7a2691f9a2c goharbor/harbor-adminserver:v1.7.1 "/harbor/start.sh" 3 months ago Up 14 hours (healthy) harbor-adminserver
d987bcb50630 goharbor/redis-photon:v1.7.1 "docker-entrypoint..." 3 months ago Up 14 hours 6379/tcp redis
d7df267a0dc9 goharbor/harbor-log:v1.7.1 "/bin/sh -c /usr/l..." 3 months ago Up 14 hours (healthy) 127.0.0.1:1514->10514/tcp harbor-log
这时候发现nginx服务也是healthy状态了,然后去浏览器上访问一下:
然后去输入账号密码即可。
GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:2 个月前 )
9e55afbb
pull image from registry.goharbor.io instead of dockerhub
Update testcase to support Docker Image Can Be Pulled With Credential
Change gitlab project name when user changed.
Update permissions count and permission count total
Change webhook_endpoint_ui
Signed-off-by: stonezdj <stone.zhang@broadcom.com>
Co-authored-by: Wang Yan <wangyan@vmware.com> 9 天前
3dbfd422
Signed-off-by: wang yan <wangyan@vmware.com> 10 天前
更多推荐
已为社区贡献7条内容
所有评论(0)