title | weight |
---|---|
Troubleshooting Harbor Installation |
50 |
The following sections help you to solve problems when installing Harbor.
By default, registry data is persisted in the host's /data/
directory. This data remains unchanged even when Harbor's containers are removed and/or recreated, you can edit the data_volume
in harbor.yml
file to change this directory.
In addition, Harbor uses rsyslog
to collect the logs of each container. By default, these log files are stored in the directory /var/log/harbor/
on the target host for troubleshooting, also you can change the log directory in harbor.yml
.
If Harbor does not start or functions incorrectly, run the following command to check whether all of Harbor's containers are in the Up
state.
sudo docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------------------
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
If a container is not in the Up
state, check the log file for that container in /var/log/harbor
. For example, if the harbor-core
container is not running, look at the core.log
log file.
If Harbor is running behind an nginx
proxy or elastic load balancing, open the file common/config/nginx/nginx.conf
and search for the following line.
proxy_set_header X-Forwarded-Proto $scheme;
If the proxy already has similar settings, remove it from the sections location /
, location /v2/
and location /service/
and redeploy Harbor. For instructions about how to redeploy Harbor, see Reconfigure Harbor and Manage the Harbor Lifecycle.
If you use an intermediate certificate from a certificate issuer, merge the intermediate certificate with your own certificate to create a certificate bundle. Run the following command.
cat intermediate-certificate.pem >> yourdomain.com.crt
When the Docker daemon runs on certain operating systems, you might need to trust the certificate at the OS level. For example, run the following commands.
-
Ubuntu:
cp yourdomain.com.crt /usr/local/share/ca-certificates/yourdomain.com.crt update-ca-certificates
-
Red Hat (CentOS etc):
cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/yourdomain.com.crt update-ca-trust