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
View Code

如果要让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"]}
View Code

在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
View Code 

上传

docker push 打过tag的镜像

例子:

[root@dn01 ~]# docker push 10.10.100.36/library/php:v1
View Code

参数介绍

必选参数
描述
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
View Code

 

posted @ 2019-09-06 15:12  彦祚  阅读(335)  评论(0编辑  收藏  举报