Ubuntu16 安装搭建Harbor

 官方文档:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.mdhtml

 

1 环境依赖:docker docker-compose

1.1 下载docker:

Ubuntu16 可参考 http://www.javashuo.com/article/p-roftipbn-my.htmlpython

其它系统可参考:http://www.runoob.com/docker/ubuntu-docker-install.htmlnginx

个人服务器是在阿里云上,直接运行:git

apt-get install docker.io

注:github

检测安装结果:docker -v docker

 

1.2 下载docker-compose

阿里云上:apt-get install docker-composejson

官网教程参考:https://docs.docker.com/compose/install/#install-composeubuntu

1.2.1 官网解决方案一(Linux):(问题:我遇到问题就是下载速度太慢)

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

1.2.2 官网解决方案二:用python的pip工具

pip install docker-compose

注:vim

 检测安装状况:windows

docker-compose --version

 

1.3 下载Harbor

官网地址:https://github.com/goharbor/harbor/releases

 

1.3.1 复制地址,运行wget  url:

wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.1.tgz

注:下载速度太慢,能够windows上下载下来而后copy到服务器上

1.3.2 解压:

tar -xvf harbor-online-installer-v1.7.1.tgz

 

2 配置harbor

2.1 修改harbor.cfg

cd harbor
vim harbor.cfg

将 hostname的值修改为本机IP,好比198.127.0.1

部分配置含义:

#配置访问的地址
hostname = 198.127.0.1
#使用http方式访问管理界面
ui_url_protocol = http
#配置admin的密码,默认是Harbor12345
harbor_admin_password = 12345
#更改harbor存储路径,默认是/data
secretkey_path = /mnt/vdc/harbor_data

2.2 开始安装:

./install.sh

 

2.3 若是主机上已经有nginx监听80 端口,那须要修改harbor里的nginx的默认端口配置:

第一种:

2.3.1 修改docker-compose.yml

vim docker-compose.yml

例如 修改80:80 为 81:80

2.3.2修改config.xml,在$public_url(也有多是$ui_url)后增长 :81

vim common/templates/registry/config.yml

2.3.3从新生成配置文件

sudo ./prepare

第二种:

参考官方文档:

 

 

 

 

2.4 启动Harbor:

docker-compose up -d

2.4.1 进入Harbor的UI界面

(端口默认是80,nginx若是修改了端口映射(好比上面的81:80),那端口就是81):IP:Port

Eg:   198.127.0.1:81

Harbor默认用户名:admin

Harbor默认密码:Harbor12345

2.4.2 新建Project:tom

注:

中止Harbor:docker-compose down -v

 

修改insecure-registry

3.1 windows/mac版本Docker

3.1.1右击docker图标,在settings里的Deamon的Insecure registries里增长Harbor的IP和端口

198.127.0.1:81

 

3.1.2 重启Docker

service docker restart

3.2 Linux,好比Ubuntu

有好几种方式,主要分为 修改daemon.json增长仓库地址(推荐) 和  在docker启动文件配置仓库地址

3.2.1 和 3.2.2 二选一(推荐3.2.1,方便)

3.2.1 修改daemon.json

文件目录:/etc/docker/daemon.json (没有则新建该文件)

{
"insecure-registries": ["198.127.0.1:81"]
}

而后重启docker:

service docker restart

 

3.2.2 修改启动文件

3.2.2.1找到service的位置

service docker status

3.2.2.2 修改docker.service,增长Harbor的Ip和Port

vim /lib/systemd/system/docker.service 

在ExecStart的最后增长:--insecure-registry=198.127.0.1:81

3.2.2.3 从新启动docker:

修改docker.service必定要执行systemctl daemon-reload刷新配置

systemctl daemon-reload
systemctl restart docker

 

4 docker push镜像:

4.1 登陆Harbor

docker login 198.127.0.1:81

输入

用户名admin

密码Harbor12345

4.2 docker tag 和 docker push:

docker tag blog:v2.0 192.127.0.1:81/tom/blog:v2.0
docker push 192.127.0.1:81/tom/blog:v2.0

 

push常见错误:

(1)Error response from daemon: Get https://192.127.0.1/v1/users/: dial tcp 192.127.0.1:443: getsockopt: connection refused

(2)Error response from daemon: Get https://192.127.0.1:81/v1/users/: http: server gave HTTP response to HTTPS client

缘由:

1 端口错了,好比不是默认端口80,而是81

2 没有在docker启动文件中添加--insecure-registry 信任关系,解决办法在上面  3 修改insecure-registry