harbor鏡像倉庫介紹安裝使用全過程

-------------------------------------安裝前介紹-----------------------------------------------------
	harbor是一個docker私有鏡像倉庫,雖然docker官方提供了公共的鏡像倉庫(Docker Hub),但是從安全和效率等方面考慮,部署私有環境內的Registry也是非常必要的。Harbor是由VMware公司開源的企業級的Docker Registry管理項目。
docker官方提供了一個私有鏡像倉庫 docker Registry,安裝部署容易,安裝一個Registry容器就可以使用了。
但是Registry有以下缺點:
1、沒有圖形界面
2、 沒有項目管理
3、沒有用戶權限控制
4、 看不到鏡像操作記錄
Harbor的優勢:
1、圖形管理界面。
2、按項目管理鏡像。
3、獨立的用戶管理,不同用戶可以操作不同鏡像,細粒度的權限控制,包含create、push 、pull、delete。
4、鏡像管理。
5、標籤管理。
6、操作日誌管理。

-------------------------------------安裝前準備-----------------------------------------------------
步驟一:安裝docker 
  一、安裝需要的軟件包,yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
    yum install -y yum-utils device-mapper-persistent-data lvm2
  二、設置yum源
    yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央倉庫)
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里倉庫)
  三、查看倉庫中所有的docker版本
    yum list docker-ce --showduplicates | sort -r
  四、安裝docker,yum install docker-ce-版本號
    yum install docker-ce-18.06.2.ce
  五、啓動docker和設置開機自動啓動
    systemctl enable docker
    systemctl start docker

步驟二:安裝docker-compose
 <方式一>CentOS:
	yum install epel-release -y
	yum install python-pip -y

	Ubuntu:
	apt-get install python-pip -y

	# 通用命令
	pip --version
	pip install --upgrade pip
	pip install -U -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose 
	docker-compose version
  <方式二>
   1、安裝pip
    yum -y install epel-release
    yum -y install python-pip       
   2、查看和更新 
    pip --version
    pip install --upgrade pip
   3、安裝和查看版本
    pip install docker-compose
    docker-compose version 
  <方式三>
    1、yum update curl  
    2、下載和安裝
      sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
      chmod +x /usr/local/bin/docker-compose
    3、查看版本
      docker-compose version
步驟三:下載harbor在線或離線安裝包
	1、harbor的倉庫頁面進行下載版本
	   https://github.com/goharbor/harbor/releases
	   harbor-online-installer-v1.8.0.tgz
	2、下載後上傳到服務器
	   cd /home/
	   tar -zvxf harbor-online-installer-v1.8.0.tgz
	   解壓後會自動生成harbor文件

-------------------------------------安裝開始------------------------------------------------------
步驟一:創建https證書
	# 創建證書目錄,並賦予權限
	mkdir -p /home/cert/harbor
	chmod -R 777 /home/cert/harbor
	cd /home/cert/harbor

	# whereis openssl 檢查是否有安裝openssl,如果沒有先安裝openssl組件,如果有就不用安裝了
	whereis openssl
	yum install openssl

	# 創建服務器證書密鑰文件harbor.key
	openssl genrsa -des3 -out harbor.key 2048
	# 輸入密碼,確認密碼,自己隨便定義,但是要記住,後面會用到。

	# 創建服務器證書的申請文件harbor.csr
	openssl req -new -key harbor.key -out harbor.csr
	# 輸入密鑰文件的密碼, 然後一路回車

	# 備份一份服務器密鑰文件
	cp harbor.key harbor.key.org

	# 去除文件口令
	openssl rsa -in harbor.key.org -out harbor.key
	# 輸入密鑰文件的密碼

	# 創建一個自當前日期起爲期十年的證書 harbor.crt
	openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt
步驟二:編輯啓動信息
    1、vim harbor.yml並編輯

    # 將hostname改成本機IP或域名,不要用localhost,127.0.0.1或0.0.0.0,冒號後面都有一個空格
	hostname: xxx.njxx.xxx
    ui_url_protoc0l: https
	# 將http端口改成8081,因爲默認用的80端口已經被佔用,http可以指定任意端口
	http:
	  port: 8081
	# 配置https的端口,只能使用443端口,更改證書路徑,證書路徑爲剛剛生成的https證書的實際路徑
	https:
	  port: 443
	  certificate: /home/cert/harbor/harbor.crt
	  private_key: /home/cert/harbor/harbor.key
	# 修改後臺管理密碼
	harbor_admin_password: harbor12345
	# harbor的內部數據庫密碼
	database:
	  password: root123
	# 修改harbor數據存儲路徑與日誌存儲路徑,目錄要先創建好並賦予777權限
	data_volume: /data/harbor-data
	# 修改日誌存放路徑,默認路徑爲/var/log/harbor
	log:
	  local:
	    localtion: /data/harbor-log
    
    最後保存退出
步驟三:啓動
    # 進入harbor安裝目錄
      cd /home/harbor 
    # 啓動
      ./install.sh
    
步驟四:瀏覽器使用
   直接訪問域名加上自己配置的端口方法
   用戶名爲admin,密碼爲配置文件中定義的

至此安裝成功

-------------------------------------docker信任配置---------------------------------------------------
步驟一:配置倉庫爲docker受信任的倉庫
    # 編輯
       vi  /etc/docker/daemon.json
    # 追加內容
    {
        "insecure-registries": ["xx.xx.x.xxx:8081"]
    }
步驟二:拷貝https證書文件harbor.crt到 /etc/docker/certs.d/serverIp 文件夾。每個docker都要拷貝證書文件
    mkdir –p /etc/docker/certs.d/xx.xx.xx.xx
    cp /home/cert/harbor/harbor.crt  /etc/docker/certs.d/xx.xx.xx.xx/ca.crt
步驟三:重啓docker(注意不重啓後面docker login會訪問不了harbor)
    systemctl daemon-reload
    systemctl restart docker.service
步驟四:重啓harbor
    cd /home/harbor
    ./prepare
    docker-compose down
    docker-compose up -d
-------------------------------------將本地業務鏡像push到harbor-----------------------------------------
步驟一:登錄harbor
    docker login xxx.xx.xx.xx
    輸入賬戶密碼
    登陸成功後,token會存放在 ~/.docker/config.json.文件裏
步驟二:給本地鏡像打上tag標記,打標記的時候要加上項目名稱。
    # docker tag 本地鏡像名:版本號 ip:port/項目名稱/遠程鏡像名:版本號,如果不加版本號表示最新版本
    docker tag demo1:v1.0.1 xx.xx.xx.xx:8081/test/demo1:v1.0.1
    # 上傳鏡像到harbor
    docker push xx.xx.xx.xx:8081/test/demo1:v1.0.1

-------------------------------------harbor倉庫的常用操作記錄-----------------------------------------
1、從harbor上拉取鏡像
  docker pull xx.xx.xx.xx:8081/test/demo1:v1.0.1
2、重啓harbor
    cd /home/harbor
    docker-compose down
    ./prepare   #配置文件有改動時需要執行
    docker-compose up -d
3、關閉harbor
    cd /usr/local/harbor
    docker-compose down -v
    # 或者
    docker-compose stop
4、卸載harbor
   cd /home/harbor
   docker-compose stop
   rm -rf /home/harbor
-------------------------------------高可用配置介紹和安裝--------------------------------------------------------


-------------------------------------遇到問題彙總記錄--------------------------------------------------------------
1、如果不在harbor中新建項目,或者創建tag的時候不加項目名稱,在上傳鏡像時會發生錯誤,所以docker tag 打標籤的時候要一定要加上項目名稱。
   
2、#"注意docker-compose"命令只能在當前harbor目錄下使用(因爲該目錄下有harbor配置文件)

3、配置生效的方式。編輯保存配置後。在harbor安裝目錄下執行./prepare即可
 

停止服務: docker-compose stop
開始服務: docker-compose start
再次啓動harbor: docker-compose up -d
停止和關閉harbor命令:docker-compose down -v
              docker-compose ps
           
參考鏈接:https://www.cnblogs.com/yyee/p/13121272.html
        https://www.cnblogs.com/wangzhangtao/p/12076816.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章