新聞中心
備注:使用非root用戶操作Docker,需要創(chuàng)建docker組
sudo groupadd docker
將當前用戶加入docker組
sudo gpasswd -a ${USER} docker
重新啟動docker服務(wù)(下面是CentOS7的命令)
sudo systemctl restart docker
當前用戶退出系統(tǒng)重新登陸。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、龍江網(wǎng)站維護、網(wǎng)站推廣。
$ scp -i .ssh/id_rsa harbor.bytefish.online-installer-v1.4.0.tgz 用戶名@docker.MySite.com:/路徑/harbor.bytefish.online-installer-v1.4.0.tgz
$ ssh 用戶名@docker.MySite.com -i .ssh/id_rsa
$ tar -zxf harbor.bytefish.online-installer-v1.4.0.tgz && cd harbor
二、確認服務(wù)器資源:
1、官方對服務(wù)器資源的最小要求和建議:
Hardware:
Resource Capacity Description
CPU minimal 2 CPU 4 CPU is prefered
Mem minimal 4GB 8GB is prefered
Disk minimal 40GB 160GB is prefered
Software:
Software Version Description
Python version 2.7 or higher Note that you may have to install Python on Linux distributions (Gentoo, Arch) that do not come with a Python interpreter installed by default
Docker engine version 1.10 or higher For installation instructions, please refer to: https://docs.docker.com/engine/installation/
Docker Compose version 1.6.0 or higher For installation instructions, please refer to: https://docs.docker.com/compose/install/
Openssl latest is prefered Generate certificate and keys for Harbor
Network ports:
Port Protocol Description
443 HTTPS Harbor UI and API will accept requests on this port for https protocol
4443 HTTS Connections to the Docker Content Trust service for Harbor, only needed when Notary is enabled
80 HTTP Harbor UI and API will accept requests on this port for http protocol
2、確認服務(wù)器docker版本:
$ docker version
3、確認docker-compose、Python、OpenSSL版本:
$ docker-compose version
4、確認硬件情況:
$ cat /proc/cpuinfo
$ free
5、確認網(wǎng)絡(luò)端口是否被占用:
$ ss -tna
三、編輯配置文件,并安裝:
1、編輯harbor目錄下harbor.cfg文件,修改內(nèi)容如下:
hostname = docker.MySite.com
# email服務(wù)的相關(guān)參數(shù)也可在安裝完成后進入網(wǎng)站頁面配置:
email_identity =
email_server = smtp.mailserver.com
# mailserver port
email_server_port = 25
email_username = [email protected]
email_password = 郵件服務(wù)密碼
email_from = admin
email_ssl = true
email_insecure = false
harbor_admin_password = 設(shè)置一個管理員密碼
db_password = 設(shè)置一個MySQL的密碼
# self_registration默認為on,是針對數(shù)據(jù)庫認證方式,訪客可以自己注冊,對于LDAP認證方式無法自注冊:
self_registration = off
復(fù)制代碼
2、使用root權(quán)限執(zhí)行install.sh(該腳本將會在根目錄下建立/data目錄及相關(guān)文件),將自動下載相關(guān)docker鏡像文件,并自動安裝完成:
~/harbor$ sudo ./install.sh
3、容器將自動啟動,此時可用瀏覽器打開 http://docker.MySite.com,使用管理員賬號admin登陸。
四、配置LDAP:
1、使用管理員賬號admin登陸http://docker.MySite.com,點擊“系統(tǒng)管理”、“配置管理”,將“認證模式”選擇為LDAP,并配置相關(guān)參數(shù):
LDAP URL : ldap://MySite.com
LDAP搜索DN : cn=admin,dc=MySite,dc=com
LDAP搜索密碼: 密碼
LDAP基礎(chǔ)DN : dc=MySite,dc=com
LDAP過濾器 : (|(objectclass=inetOrgPerson))
LDAP用戶UID的屬性 : uid
LDAP搜索范圍 : 子樹
LDAP 檢查證書 : (測試發(fā)現(xiàn): “LDAP 檢查證書” 選不選都能通過ldap登陸,待再次驗證。)
2、點擊“測試LDAP服務(wù)器”按鈕,如果成功,瀏覽器頂部將顯示“LDAP服務(wù)器的連通正常?!钡奶崾?。
3、此時可用LDAP中的賬號登陸web頁面,但無法通過docker login登陸,還需配置網(wǎng)站https證書。
五、配置https證書:
1、安裝說明:
https://github.com/vmware/harbor/blob/master/docs/configure_https.md
2、在/home/ubuntu/harbor目錄執(zhí)行docker-compose down,停止并刪除容器:
$ docker-compose down
3、本來想通過Let’s Encrypt官方的certbot腳本(certbot.eff.org)安裝證書,但是腳本不能成功執(zhí)行,估計是因為nginx是在容器里造成的,但是通過這個腳本自動安裝了一些軟件包。然后嘗試通過git獲取letsencrypt進行安裝:
$ git clone https://github.com/letsencrypt/letsencrypt
4、進入letsencrypt目錄,生成證書
$ cd letsencrypt
$ sudo ./letsencrypt-auto certonly --standalone --email [email protected] -d docker.MySite.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for docker.MySite.com
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/docker.MySite.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/docker.MySite.com/privkey.pem
Your cert will expire on 2018-05-15. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
5、證書過期日期為2018-05-15,生成的證書文件位于/etc/letsencrypt/live/docker.MySite.com/文件夾(鏈接文件):
$ sudo ls /etc/letsencrypt/live/docker.MySite.com/ -l
lrwxrwxrwx 1 root root 40 Feb 14 23:30 cert.pem -> ../../archive/docker.MySite.com/cert1.pem
lrwxrwxrwx 1 root root 41 Feb 14 23:30 chain.pem -> ../../archive/docker.MySite.com/chain1.pem
lrwxrwxrwx 1 root root 45 Feb 14 23:30 fullchain.pem -> ../../archive/docker.MySite.com/fullchain1.pem
lrwxrwxrwx 1 root root 43 Feb 14 23:30 privkey.pem -> ../../archive/docker.MySite.com/privkey1.pem
-rw-r--r-- 1 root root 543 Feb 14 23:30 README
cert.pem - 服務(wù)端證書
chain.pem - 瀏覽器需要的所有證書但不包括服務(wù)端證書,比如根證書和中間證書
fullchain.pem - 包括了cert.pem和chain.pem的內(nèi)容
privkey.pem - 證書的私鑰
6、新建目錄letsencrypt,并將證書文件拷貝到該目錄:
$ mkdir /home/ubuntu/harbor/letsencrypt/ && cd /home/ubuntu/harbor/letsencrypt/
$ sudo cp /etc/letsencrypt/archive/docker.MySite.com/fullchain1.pem docker.MySite.com.crt
$ sudo cp /etc/letsencrypt/archive/docker.MySite.com/privkey1.pem docker.MySite.com.key
7、修改/home/ubuntu/harbor/harbor.cfg配置文件:
#設(shè)置ui_url_protocol為https
ui_url_protocol = https
#設(shè)置證書文件
ssl_cert = /home/ubuntu/harbor/letsencrypt/docker.MySite.com.crt
ssl_cert_key = /home/ubuntu/harbor/letsencrypt/docker.MySite.com.key
8、用root權(quán)限執(zhí)行一次prepare腳本,并啟動docker重建容器:
$ sudo /home/ubuntu/harbor/prepare
$ docker-compose up -d
六、上傳鏡像:
1、用瀏覽器打開 http://docker.MySite.com,用普通用戶賬號登錄,并新建一個項目“test”:
2、在客戶端登錄docker.MySite.com:
$ docker login docker.MySite.com
Username: bytefish
Password: 密碼
Login Succeeded
3、將客戶端的鏡像打tag,然后上傳到docker.MySite.com:
格式:
docker tag SOURCE_IMAGE[:TAG] docker.MySite.com/項目名稱/IMAGE[:TAG]
docker push docker.MySite.com/項目名稱/IMAGE[:TAG]
示例:
$ docker tag hello-world:latest docker.MySite.com/test/hello-world:test
$ docker push docker.MySite.com/test/hello-world:test
The push refers to a repository [docker.MySite.com/test/hello-world]
f999ae22f308: Mounted from library/hello-world
test: digest: sha256:0b1396cdcea05f91f38fc7f5aecd58ccf19fb5743bbb79cff5eb3c747b36d909 size: 524
網(wǎng)站名稱:安裝Harbor1.4.0開源Docker鏡像倉庫及Let'sEncrypt證書
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/djhggji.html


咨詢
建站咨詢
