DockerHub

1 下载最新离线安装包
https://github.com/goharbor/harbor/releases
image.png
2 解压下载的压缩包

  1. [admin@controller-server software]$ tar zxf harbor-offline-installer-v2.3.4.tgz
  2. [admin@controller-server software]$ cd harbor
  3. [admin@controller-server harbor]$ ll
  4. total 596284
  5. -rw-r--r-- 1 admin admin 3361 Nov 9 19:01 common.sh
  6. -rw-r--r-- 1 admin admin 610560420 Nov 9 19:01 harbor.v2.3.4.tar.gz
  7. -rw-r--r-- 1 admin admin 7840 Nov 9 19:01 harbor.yml.tmpl
  8. -rwxr-xr-x 1 admin admin 2500 Nov 9 19:01 install.sh
  9. -rw-r--r-- 1 admin admin 11347 Nov 9 19:01 LICENSE
  10. -rwxr-xr-x 1 admin admin 1881 Nov 9 19:01 prepare
  11. #先检测安装环境
  12. [admin@controller-server harbor]$ sudo ./prepare

复制一个harbor.yml文件

  1. [admin@controller-server harbor]$ cp harbor.yml.tmpl harbor.yml

编辑harbor.yml文件

  1. hostname: harbor.xxxooog.com //编辑域名
  2. # http related config
  3. http:
  4. # port for http, default is 80. If https enabled, this port will redirect to https port
  5. port: 80 // 如有冲突,改成自定义端口
  6. # https related config
  7. https:
  8. # https port for harbor, default is 443
  9. port: 443 // 如有冲突,改成自定义端口
  10. # The path of cert and key files for nginx
  11. certificate: /etc/nginx/keys/xxxooo.com.pem // 改成自己域名的证书
  12. private_key: /etc/nginx/keys/xxxooo.com.key // 改成自己域名的证书
  13. # Remember Change the admin password from UI after launching Harbor.
  14. harbor_admin_password: Harbor12345 // 修改默认密码
  15. # The default data volume
  16. data_volume: /data/software/harbor/data // 设置data目录,写成相对目录好像有问题,写程绝对目录
  17. #其他配置请自行修改

先检测安装环境

  1. [admin@controller-server harbor]$ ./prepare
  2. prepare base dir is set to /data/software/harbor
  3. Generated configuration file: /config/portal/nginx.conf
  4. Generated configuration file: /config/log/logrotate.conf
  5. Generated configuration file: /config/log/rsyslog_docker.conf
  6. Generated configuration file: /config/nginx/nginx.conf
  7. Generated configuration file: /config/core/env
  8. Generated configuration file: /config/core/app.conf
  9. Generated configuration file: /config/registry/config.yml
  10. Generated configuration file: /config/registryctl/env
  11. Generated configuration file: /config/registryctl/config.yml
  12. Generated configuration file: /config/db/env
  13. Generated configuration file: /config/jobservice/env
  14. Generated configuration file: /config/jobservice/config.yml
  15. Generated and saved secret to file: /data/secret/keys/secretkey
  16. Successfully called func: create_root_cert
  17. Generated configuration file: /compose_location/docker-compose.yml
  18. Clean up the input dir

安装harbor

  1. [admin@controller-server harbor]$ sudo ./install.sh
  2. [Step 0]: checking if docker is installed ...
  3. Note: docker version: 19.03.13
  4. [Step 1]: checking docker-compose is installed ...
  5. Note: docker-compose version: 1.29.2
  6. [Step 2]: loading Harbor images ...
  7. Loaded image: goharbor/harbor-portal:v2.3.4
  8. Loaded image: goharbor/nginx-photon:v2.3.4
  9. Loaded image: goharbor/notary-server-photon:v2.3.4
  10. Loaded image: goharbor/trivy-adapter-photon:v2.3.4
  11. Loaded image: goharbor/harbor-core:v2.3.4
  12. Loaded image: goharbor/harbor-db:v2.3.4
  13. Loaded image: goharbor/harbor-jobservice:v2.3.4
  14. Loaded image: goharbor/registry-photon:v2.3.4
  15. Loaded image: goharbor/prepare:v2.3.4
  16. Loaded image: goharbor/harbor-registryctl:v2.3.4
  17. Loaded image: goharbor/harbor-exporter:v2.3.4
  18. Loaded image: goharbor/notary-signer-photon:v2.3.4
  19. Loaded image: goharbor/harbor-log:v2.3.4
  20. Loaded image: goharbor/redis-photon:v2.3.4
  21. Loaded image: goharbor/chartmuseum-photon:v2.3.4
  22. [Step 3]: preparing environment ...
  23. [Step 4]: preparing harbor configs ...
  24. prepare base dir is set to /data/software/harbor
  25. Clearing the configuration file: /config/portal/nginx.conf
  26. Clearing the configuration file: /config/log/logrotate.conf
  27. Clearing the configuration file: /config/log/rsyslog_docker.conf
  28. Clearing the configuration file: /config/nginx/nginx.conf
  29. Clearing the configuration file: /config/core/env
  30. Clearing the configuration file: /config/core/app.conf
  31. Clearing the configuration file: /config/registry/passwd
  32. Clearing the configuration file: /config/registry/config.yml
  33. Clearing the configuration file: /config/registryctl/env
  34. Clearing the configuration file: /config/registryctl/config.yml
  35. Clearing the configuration file: /config/db/env
  36. Clearing the configuration file: /config/jobservice/env
  37. Clearing the configuration file: /config/jobservice/config.yml
  38. Generated configuration file: /config/portal/nginx.conf
  39. Generated configuration file: /config/log/logrotate.conf
  40. Generated configuration file: /config/log/rsyslog_docker.conf
  41. Generated configuration file: /config/nginx/nginx.conf
  42. Generated configuration file: /config/core/env
  43. Generated configuration file: /config/core/app.conf
  44. Generated configuration file: /config/registry/config.yml
  45. Generated configuration file: /config/registryctl/env
  46. Generated configuration file: /config/registryctl/config.yml
  47. Generated configuration file: /config/db/env
  48. Generated configuration file: /config/jobservice/env
  49. Generated configuration file: /config/jobservice/config.yml
  50. Generated and saved secret to file: /data/secret/keys/secretkey
  51. Successfully called func: create_root_cert
  52. Generated configuration file: /compose_location/docker-compose.yml
  53. Clean up the input dir
  54. [Step 5]: starting Harbor ...
  55. Creating network "harbor_harbor" with the default driver
  56. Creating harbor-log ... done
  57. Creating harbor-portal ... done
  58. Creating harbor-db ... done
  59. Creating registry ... done
  60. Creating redis ... done
  61. Creating registryctl ... done
  62. Creating harbor-core ... done
  63. Creating harbor-jobservice ... done
  64. Creating nginx ... done
  65. ----Harbor has been installed and started successfully.----

阿里云镜像仓库

私有仓库

docker run -d -p 5000:5000 --restart always --name registry -v /data/registry:/var/lib/registry registry:latest
docker tag registry:latest 192.168.136.131:5000/test
docker push 192.168.136.131:5000/test

image.png