Harbor的安装与使用

2020-06-11  本文已影响0人  野生DBNull

0.啥是Harbor

Harbor是一个开放源代码容器映像注册表,可通过基于角色的访问控制来保护映像,扫描映像中的漏洞并将映像签名为受信任。作为CNCF孵化项目,Harbor提供合规性,性能和互操作性,以帮助您跨Kubernetes和Docker等云原生计算平台持续,安全地管理映像。
说白了Harbor就是一个企业级的私有Docker镜像仓库,一个基于Docker Registry的更高级封装。
Harbor官网

1.安装Harbor

安装这玩意必须要安装Docker 和 Docker Compose (后面这玩意我没安装过,感觉安装上Docker-Ce就附带上了);
这玩意分在线安装和离线安装,两种安装方式都各有各的好处;
可以在Github中找一个你喜欢的版本
安装包下载地址

mkdir /etc/harbor
cd /etc/harbor
wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-online-installer-v1.9.0.tgz
tar xvf harbor-online-installer-v1.9.0.tgz
ls #在我这个老版本应该就是在这个目录下,要是有其他目录,就进去在执行ls查看文件

安装包下载后应该可以看到这些个文件
common docker-compose.yml harbor.yml install.sh LICENSE prepare
harbor.yml 是配置文件
install.sh 是安装文件
prepare 是配置文件修改后更新配置的执行文件

2.修改Harbor配置

Harbor的存储是pg和Redis的,如果你有这两个东西了其实可以将Harbor的存储用自己的库
只需要按照配置文件去给数据库地址和账号密码就行了,配置文件贴在下面

# Uncomment external_database if using external database.
# external_database:
#   harbor:
#     host: harbor_db_host
#     port: harbor_db_port
#     db_name: harbor_db_name
#     username: harbor_db_username
#     password: harbor_db_password
#     ssl_mode: disable
#     max_idle_conns: 2
#     max_open_conns: 0
#   clair:
#     host: clair_db_host
#     port: clair_db_port
#     db_name: clair_db_name
#     username: clair_db_username
#     password: clair_db_password
#     ssl_mode: disable
#   notary_signer:
#     host: notary_signer_db_host
#     port: notary_signer_db_port
#     db_name: notary_signer_db_name
#     username: notary_signer_db_username
#     password: notary_signer_db_password
#     ssl_mode: disable
#   notary_server:
#     host: notary_server_db_host
#     port: notary_server_db_port
#     db_name: notary_server_db_name
#     username: notary_server_db_username
#     password: notary_server_db_password
#     ssl_mode: disable

# Uncomment external_redis if using external Redis server
# external_redis:
#   host: redis
#   port: 6379
#   password:
#   # db_index 0 is for core, it's unchangeable
#   registry_db_index: 1
#   jobservice_db_index: 2
#   chartmuseum_db_index: 3

如果你没有现成的PG和Redis就要注意下面的这些配置
data_volume: /data 注意这个配置,这里会将Postgres的文件和Redis的文件全部挂载到这个目录下。
注意:请谨慎选择这个位置,要选择一个盘大的地方,不然很容易就满了
下面是数据库的密码和最大连接数配置

# Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: root123
  # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
  max_idle_conns: 50
  # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
  # Note: the default number of connections is 100 for postgres.
  max_open_conns: 100

harbor_admin_password: Harbor12345 这个就是UI界面 admin的管理密码
hostname: 192.168.1.203 这个配置写对公的IP地址/域名,千万不要写127.0.0.1

下面的端口号这些有条件的朋友就直接用80和443不要修改,改了有莫名其妙的问题

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https related config
# https:
#   # https port for harbor, default is 443
#   port: 443
#   # The path of cert and key files for nginx
#   certificate: /your/certificate/path
#   private_key: /your/private/key/path

``

vi ./harbor.yml
# 改一下你需要改的配置

然后启动就完事了

sh ./install #第一次安装的时候 要执行这个命令,执行完这个命令可以不执行启动命令的,会帮你自动启动的

docker-compose up -d # 启动
docker-compose down 关闭
docker-compose ps #查看运行状态

# 看到全部是Up的就起来了
      Name                     Command               State             Ports
--------------------------------------------------------------------------------------
harbor-core         /harbor/harbor_core              Up
harbor-db           /docker-entrypoint.sh            Up      5432/tcp
harbor-jobservice   /harbor/harbor_jobservice  ...   Up
harbor-log          /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp
harbor-portal       nginx -g daemon off;             Up      8080/tcp
nginx               nginx -g daemon off;             Up      0.0.0.0:80->8080/tcp
redis               redis-server /etc/redis.conf     Up      6379/tcp
registry            /entrypoint.sh /etc/regist ...   Up      5000/tcp
registryctl         /harbor/start.sh                 Up

输入刚刚定义的HostIP:Port 看到下面的界面就可以了


image.png

然后默认账户是admin 密码没改就是Harbor12345 改了就是你改的那个。
登录进去就是这样子的。


image.png

3.使用Harbor

这个UI说实在话还是非常的人性的


image.png

这个位置可以复制 Pull命令
然后上传的话就要先登录才能Push

docker pull 192.168.1.203/test/test-nginx:V1.1.3  # 拉取
docker login 192.168.1.203 # 输入账号和密码就可以登录
docker push 192.168.1.203/test/test-nginx:V1.1.4 # 上传

其他的高端操作就可以看官方文档了。
这里如果你没有证书的话 要在客户端的机器上配置信任这个仓库,才能进行推送和拉取

vi /etc/docker/daemon.json
{
  "insecure-registries":["192.168.1.203"] 
} 
systemctl restart docker 

剩下的路就要靠自己摸索了。
这是我在装完后测试没问题了才出的教程,基本纯手打,可能有出现错误的单词,请各位见谅

上一篇下一篇

猜你喜欢

热点阅读