搭建harbor倉庫

概述

反正就是想搭建一個docker倉庫,方便存放本身的鏡像這樣子python

harbor介紹

harbor是一個開源的docker容器倉庫,由下面幾個組件組成nginx

  • proxy:用來接收docker客戶端和瀏覽器端的請求,而且把請求轉發給後端的服務
  • registry:就是倉庫,用來存儲鏡像的,
  • 核心服務:提供web ui,數據庫,token認證,webhook等功能
  • 日誌服務
  • database:用來存儲核心服務的一些數據

總之就上上面這個圖這樣子的架構git

由於是vmware出品的,因此支持下面幾種部署方式github

  • 在線安裝
  • 離線安裝
  • ova安裝,這個直接在vcenter上導入就能夠了

官方最小配置web

  • 2個cpu
  • 4g內存
  • 40g硬盤,由於是存儲鏡像的因此推薦硬盤大點

安裝前配置

爲了方便我是直接離線安裝的,使用的系統是centos7docker

下載數據庫

wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgzjson

在真正安裝以前,咱們還要安裝下面這幾個組件ubuntu

  • docker
  • docker-compose
  • python27
  • openssl

首先安裝dockervim

curl -fsSL get.docker.com -o get-docker.sh

chmod +x get-docker.sh

./get-docker.sh

systemctl start docker

以後安裝docker-compose

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

sudo chmod +x /usr/local/bin/docker-compose

默認python27是安裝在centos上的,openssl在安裝前面東西的時候也會默認安裝好的

[root[@bboysoul](https://my.oschina.net/u/2557325) ~]# rpm -qa |grep openssl
openssl-libs-1.0.2k-12.el7.x86_64
openssl-1.0.2k-12.el7.x86_64

安裝

首先解壓離線安裝包

tar -xvf harbor-offline-installer-v1.5.1.tgz

以後配置harbor.cfg這個文件,要知道的是有的參數是可選的,就是不用配置的,有的參數是必選的,必選參數有的是有默認值的

下面是必選參數

  • hostname
  • ui_url_protocol
  • db_password
  • max_job_workers
  • customize_crt
  • ssl_cert
  • ssl_cert_key
  • secretkey_path
  • log_rotate_count
  • log_rotate_size

其他的都是可選的

我是推薦在本地搭建一個dns的服務器的,由於這樣就能夠設置一個域名,每次都訪問ip太麻煩了,尤爲是在上傳鏡像的時候每次都要想ip是什麼

以後直接執行

./install.sh

就能夠安裝成功了

以後若是你想修改某一個配置好比你要把域名修改一下,我是這麼作的先修改上面harbor.cfg這個文件,以後從新執行install.sh這個文件就能夠了

還有修改一些端口只要修改docker-compose文件裏面的端口就行了,掛載文件的路徑也是同樣的

安裝完成以後訪問你配置的域名,而後使用默認的帳號:admin,密碼:Harbor12345登陸驗證

本地配置倉庫地址

首先在harbor上新建一個project,名字開行就好,以後本地配置docker的配置文件在下面這個文件加入

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["harbor.bboysoul.com"]
}

接着重啓服務

systemctl restart docker

登陸倉庫

root[@bboysoul](https://my.oschina.net/u/2557325):/home/bboysoul/temp/harbor# docker login harbor.bboysoul.com
Username: admin
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

給鏡像打tag

docker tag ubuntu:16.04 harbor.bboysoul.com/bboysoul/ubuntu:16.04

上傳鏡像

docker push harbor.bboysoul.com/bboysoul/ubuntu:16.04

下載鏡像

首先刪除本地的

docker rmi harbor.bboysoul.com/bboysoul/ubuntu:16.04

docker rmi -f ubuntu:16.04

以後pull harbor服務器上的

docker pull harbor.bboysoul.com/bboysoul/ubuntu:16.04

pull一次倉庫上鏡像的pulls就會加一次,能夠在web界面上看的

修改harbor端口

怎麼去作這個修改端口呢,首先修改docker-compose.yml中nginx的端口映射,能夠修改爲別的端口,以後咱們使用nginx去根據域名作端口轉發就能夠了,不須要作其餘很複雜的配置

配置郵件重置密碼

安裝好以後管理員登陸,在系統管理->配置管理->郵箱裏面有配置的地方,在配置裏面能夠測試郵件,個人配置以下,使用的是qq企業郵箱

  • 郵件服務器: smtp.exmail.qq.com
  • 郵件服務器端口: 465
  • 用戶名: bboysoul@bboysoul.com
  • 密碼: 個人密碼你是不可能知道的
  • 郵件來源: bboysoul@bboysoul.com 這個必定要和用戶名同樣
  • 郵件 SSL: 打鉤
  • 驗證證書: 打鉤

歡迎關注Bboysoul的博客www.bboysoul.com Have Fun

相關文章
相關標籤/搜索