Docker Harbor 1.9.0-rc1镜像仓库安装-http访问
1安装docker
参考《Yum 安装Docker》篇
2.安装docker-compose
参考《Docker Docker-compose 安装配置》篇
3.harbor安装
下载安装包
https://github.com/goharbor/harbor/releases
上传到服务并解压
[root@dn07 mnt]# ls
harbor-offline-installer-v1.9.0-rc1.tgz
[root@dn07 mnt]# tar -zxvf harbor-offline-installer-v1.9.0-rc1.tgz
harbor/harbor.v1.9.0.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/harbor.yml
[root@dn07 mnt]# ls && cd harbor
harbor harbor-offline-installer-v1.9.0-rc1.tgz
进入解压后的文件夹
修改harbor.yml配置文件
hostname: 10.10.100.36 修改主机名
harbor_admin_password: Harbor12345 修改登陆密码
其他配置可根据自己的需求自行修改
执行安装脚本install.sh
[root@dn07 harbor]# ./install.sh
最后提示:安装成功
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://10.10.100.36.
For more details, please visit https://github.com/goharbor/harbor .
通过浏览器登陆http://10.10.100.36 可以访问
当harbor 关机重启后,需要对harbor进行重启
首先进入harbor工作目录 [root@dn07 docker]# cd - /root/harbor/harbor [root@dn07 harbor]# ls common docker-compose.yml harbor.v1.9.0.tar.gz harbor.yml install.sh LICENSE prepare [root@dn07 harbor]# docker-compose up -d ##-d表示后代执行 harbor-log is up-to-date harbor-portal is up-to-date registryctl is up-to-date redis is up-to-date harbor-db is up-to-date registry is up-to-date harbor-core is up-to-date harbor-jobservice is up-to-date nginx is up-to-date
如果要让docker 其他主机可以访问自己的私有仓库,需要节点配置信任该私有仓库
在目录 /etc/docker/下创建配置文件daemon.json文件(默认安装完docker后没有该文件需要手动创建)
[root@dn02 docker]# vi /etc/docker/daemon.json
填写一下内容:
[root@dn02 docker]# cat /etc/docker/daemon.json {"insecure-registries":["10.10.100.36"]}
在linux主机上登陆镜像仓库
首先要对客户端机器修改docker 配置文件,在登陆镜像仓库时才不会报错
[root@dn07 harbor]# vi /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd --insecure-registry 10.10.100.36
重启docker
[root@dn07 harbor]# systemctl daemon-reload
[root@dn07 harbor]# systemctl restart docker
[root@dn07 harbor]# docker login 10.10.100.36
Username: ar
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
这里的主机dn07换成其他的主机也是一样的(例如:dn01)
主机登陆后可以上传本地镜像到镜像仓库
首先,打tag
docker tag 镜像名 仓库IP/仓库/镜像名
例子:
[root@dn01 ~]# docker tag php:v1 10.10.100.36/library/php:v1 [root@dn01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 10.10.100.36/library/php v1 f218a33796bb 4 days ago 485MB
上传
docker push 打过tag的镜像
例子:
[root@dn01 ~]# docker push 10.10.100.36/library/php:v1
参数介绍
必选参数
描述
hostname 目标主机的主机名,用于访问Portal和注册表服务。
它应该是目标计算机的IP地址或完全限定的域名(FQDN),例如,192.168.1.10或reg.yourdomain.com。不要使用localhost或127.0.0.1作为主机名 - 外部客户端需要访问注册表服务!
data_volume 存储港口数据的位置
harbor_admin_password 管理员的初始密码。此密码仅在Harbor首次启动时生效。之后,将忽略此设置,并且应在Portal中设置管理员密码。请注意,默认用户名/密码为admin / Harbor12345。
database
password 用于db_auth的PostgreSQL数据库的root密码。更改此密码以用于任何生产用途!
-
jobservice
max_job_workers 作业服务中的最大复制工作者数。对于每个映像复制作业,工作程序将存储库的所有标记同步到远程目标。增加此数量可以在系统中执行更多并发复制作业。但是,由于每个工作者都消耗一定量的网络/ CPU / IO资源,请根据主机的硬件资源仔细选择该属性的值。
-
log
level 日志级别,选项是调试,信息,警告,错误,致命
rotate_count 日志文件在被删除之前被轮换为log_rotate_count次。如果count为0,则删除
log_rotate_size 仅当日志文件大于log_rotate_size字节时才会轮换日志文件。如果大小后跟k,则假定大小以千字节为单位。如果使用M,则大小以兆字节为单位,如果使用G,则大小以千兆字节为单位。尺寸100,尺寸100k,尺寸100M和尺寸100G都是有效的
location 存储中日志的目录
可选参数
描述
http
port http的端口号
-
https
port https的端口号
certificate SSL证书的路径,仅在协议设置为https时应用
private_key SSL密钥的路径,仅在协议设置为https时应用
-
external_url 如果使用外部代理,则启用它,当启用时,将不再使用主机名
-
clair
updaters_interval clair更新程序的间隔,单位为小时,设置为0以禁用更新程序
http_proxy 为Clair配置http代理,例如http://my.proxy.com:3128
https_proxy 为Clair配置https代理,例如http://my.proxy.com:3128
no_proxy 没有为Clair配置代理,例如127.0.0.1,localhost,core,registry
-
chart
absolute_url 如果设置为启用图表将使用绝对网址,否则将其设置为禁用,图表将使用相对网址
-
external_database 外部数据库配置,目前只支持POSTGRES
harbor 核心数据库配置
host 核心数据库的主机名
port 核心数据库端口
db_name 港口核心数据库的数据库名称
username 用于连接港口核心数据库的用户名
password 港口核心数据库的密码
ssl_mode 启用ssl模式
- -
clair clair的数据库配置
host clair数据库的主机名
port clair数据库的端口
db_name clair数据库的数据库名称
username 用于连接clair数据库的用户名
password clair数据库的密码
ssl_mode 启用ssl模式
- -
notary_signer 公证人的签名者数据库配置
host 公证签名者数据库的主机名
port 公证签名者数据库的端口
db_name 公证签名者数据库的数据库名称
username 用于连接公证签名者数据库的用户名
password 公证签名者数据库的密码
ssl_mode 启用ssl模式
- -
notary_server
host 公证服务器数据库的主机名
port 公证服务器数据库的端口
db_name 公证服务器数据库的数据库名称
username 用于连接公证服务器数据库的用户名
password 公证服务器数据库的密码
ssl_mode 启用ssl模式
external_redis 配置使用外部redis
host 外部redis的主机
port 外部redis的端口
password 用于连接外部主机的密码
registry_db_index 注册表使用的db索引
jobservice_db_index jobservice的 db索引
chartmuseum_db_index chartmuseum的 db索引
Configuring storage backend (optional)
storage_service 默认情况下,Harbor将图像和图表存储在本地文件系统中。在生产环境中,您可以考虑使用其他存储后端而不是本地文件系统,如S3,OpenStack Swift,Ceph等。这些参数是注册表的配置。
ca_bundle 自定义根证书的路径,它将被注入到注册表和图表存储库容器的信任库中。当用户使用自签名证书托管内部存储时,通常需要这样做。
provider_name 注册表的存储配置,默认是文件系统。有关此配置的更多信息,请参阅https://docs.docker.com/registry/configuration/
redirect
disable 当您要禁用注册表重定向时,将disable设置为true