harbor倉庫
有web頁面,直觀搁宾,可進(jìn)行簡(jiǎn)單刪除折汞、目錄管理等操作。
====================================================================================
安裝
# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum install epel-release -y
# yum 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
# wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
我安裝的目錄位置是/mdata
# tar -zxvf harbor-offline-installer-v1.1.2.tgz -C /mdata
# cd /mdata/harbor
=====================================================================================================
[harbor]# egrep -v '^#|^$' harbor.cfg
# hostname設(shè)置訪問地址盖腿,可以使用ip爽待、域名,不可以設(shè)置為127.0.0.1或localhost
hostname = docker.harbor.com
# 訪問協(xié)議奸忽,默認(rèn)是http堕伪,也可以設(shè)置https,如果設(shè)置https栗菜,則nginx ssl需要設(shè)置on
ui_url_protocol = http
# mysql數(shù)據(jù)庫root用戶默認(rèn)密碼root123欠雌,實(shí)際使用時(shí)修改下
db_password = root123
max_job_workers = 3
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /mdata/harbor-data
admiral_url = NA
# 郵件設(shè)置,發(fā)送重置密碼郵件時(shí)使用
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false
# 啟動(dòng)Harbor后疙筹,管理員UI登錄的密碼富俄,默認(rèn)是Harbor12345
harbor_admin_password = passwd@docker
# 認(rèn)證方式禁炒,這里支持多種認(rèn)證方式,如LADP霍比、本次存儲(chǔ)幕袱、數(shù)據(jù)庫認(rèn)證。默認(rèn)是db_auth悠瞬,mysql數(shù)據(jù)庫認(rèn)證
auth_mode = db_auth
# LDAP認(rèn)證時(shí)配置項(xiàng)
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5
# 是否開啟自注冊(cè)
self_registration = on
# Token有效時(shí)間们豌,默認(rèn)30分鐘
token_expiration = 30
# 用戶創(chuàng)建項(xiàng)目權(quán)限控制,默認(rèn)是everyone(所有人)浅妆,也可以設(shè)置為adminonly(只能管理員)
project_creation_restriction = everyone
verify_remote_cert = on
上面的harbor.cfg文件我更改了:
hostname = docker.harbor.com? ? ? ? 指定域名
secretkey_path = /mdata/harbor-data? ? 我這里指定所有有關(guān)harbor啟動(dòng)后的文件存放位置望迎,這是其中一處,后面的文件中還有需要更改的地方
harbor_admin_password = passwd@docker? ? 這里是修改web登錄密碼凌外,我第一次更改沒有生效辩尊,如果不生效可以使用默認(rèn)密碼Harbor12345? 用戶名admin? ,登錄后可以在web管理頁面進(jìn)行更改
=================================================================================================================================
因?yàn)閔arbor默認(rèn)使用/data目錄康辑,如果使用掛載磁盤目錄摄欲,則需要修改文件docker-compose.yml,需要修改的位置我在后面加了#號(hào)
[harbor]# cat docker-compose.yml
version: '2'
services:
? log:
? ? image: vmware/harbor-log:v1.1.2
? ? container_name: harbor-log
? ? restart: always
? ? volumes:
? ? ? - /var/log/harbor/:/var/log/docker/:z
? ? ports:
? ? ? - 127.0.0.1:1514:514
? ? networks:
? ? ? - harbor
? registry:
? ? image: vmware/registry:2.6.1-photon
? ? container_name: registry
? ? restart: always
? ? volumes:
? ? ? - /mdata/harbor-data/registry:/storage:z? ? ? ? ? ? ? ? ? ###################
? ? ? - ./common/config/registry/:/etc/registry/:z
? ? networks:
? ? ? - harbor
? ? environment:
? ? ? - GODEBUG=netdns=cgo
? ? command:
? ? ? ["serve", "/etc/registry/config.yml"]
? ? depends_on:
? ? ? - log
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "registry"
? mysql:
? ? image: vmware/harbor-db:v1.1.2
? ? container_name: harbor-db
? ? restart: always
? ? volumes:
? ? ? - /mdata/harbor-data/database:/var/lib/mysql:z? ? ? ? ##########################
? ? networks:
? ? ? - harbor
? ? env_file:
? ? ? - ./common/config/db/env
? ? depends_on:
? ? ? - log
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "mysql"
? adminserver:
? ? image: vmware/harbor-adminserver:v1.1.2
? ? container_name: harbor-adminserver
? ? env_file:
? ? ? - ./common/config/adminserver/env
? ? restart: always
? ? volumes:
? ? ? - /mdata/harbor-data/config/:/etc/adminserver/config/:z? ? ? ? ##############################
? ? ? - /mdata/harbor-data/secretkey:/etc/adminserver/key:z? ? ? ? ? #################################
? ? ? - /mdata/harbor-data/:/data/:z? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ###############################
? ? networks:
? ? ? - harbor
? ? depends_on:
? ? ? - log
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "adminserver"
? ui:
? ? image: vmware/harbor-ui:v1.1.2
? ? container_name: harbor-ui
? ? env_file:
? ? ? - ./common/config/ui/env
? ? restart: always
? ? volumes:
? ? ? - ./common/config/ui/app.conf:/etc/ui/app.conf:z
? ? ? - ./common/config/ui/private_key.pem:/etc/ui/private_key.pem:z
? ? ? - /mdata/harbor-data/secretkey:/etc/ui/key:z? ? ? ? ? ? ? ? ? ? ? ##################################
? ? ? - /mdata/harbor-data/ca_download/:/etc/ui/ca/:z? ? ? ? ? ? ? ? #############################
? ? networks:
? ? ? - harbor
? ? depends_on:
? ? ? - log
? ? ? - adminserver
? ? ? - registry
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "ui"
? jobservice:
? ? image: vmware/harbor-jobservice:v1.1.2
? ? container_name: harbor-jobservice
? ? env_file:
? ? ? - ./common/config/jobservice/env
? ? restart: always
? ? volumes:
? ? ? - /mdata/harbor-data/job_logs:/var/log/jobs:z? ? ? ? ? ? ? ? ? ? ? ? ? ################################################
? ? ? - ./common/config/jobservice/app.conf:/etc/jobservice/app.conf:z
? ? ? - /mdata/harbor-data/secretkey:/etc/jobservice/key:z? ? ? ? ? ? ? ? #########################################
? ? networks:
? ? ? - harbor
? ? depends_on:
? ? ? - ui
? ? ? - adminserver
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "jobservice"
? proxy:
? ? image: vmware/nginx:1.11.5-patched
? ? container_name: nginx
? ? restart: always
? ? volumes:
? ? ? - ./common/config/nginx:/etc/nginx:z
? ? networks:
? ? ? - harbor
? ? ports:
? ? ? - 80:80
? ? ? - 443:443
? ? ? - 4443:4443
? ? depends_on:
? ? ? - mysql
? ? ? - registry
? ? ? - ui
? ? ? - log
? ? logging:
? ? ? driver: "syslog"
? ? ? options:?
? ? ? ? syslog-address: "tcp://127.0.0.1:1514"
? ? ? ? tag: "proxy"
networks:
? harbor:
? ? external: false
==================================================================================================
修改完成后
在harbor目錄中執(zhí)行
./install.sh
[Step 0]: checking installation environment ...
Note: docker version: 18.03.1
Note: docker-compose version: 1.18.0
[Step 1]: loading Harbor images ...
查看鏡像
docker images
查看啟動(dòng)
docker ps
修改需要訪問主機(jī)的hosts文件
IP? ? docker.harbor.com
訪問 docker.harbor.com
登錄倉庫
docker login docker.harbor.com
倉庫停止/啟動(dòng)
docker-compose stop/start
修改文件后的停止啟動(dòng)
docker-compose down
docker-compose up -d
docker倉庫默認(rèn)不允許http訪問
vim /etc/docker/daemon.json
{ "insecure-registries":["docker.harbor.com"] }
重啟docker
訪問時(shí) docker login docker.harbor.com 交互輸入用戶名密碼疮薇,直接命令中帶用戶名密碼可能登錄失敗胸墙,登錄一次后下次登錄無需輸入密碼
==========================================================================
============================================================================