環境要求
Ubuntu 16.04 LTS
Python 2.7+
Docker 1.10+
Docker-compose 1.6.0+
環境前置安裝
# Check Version1
2
3ubuntu@ubuntu-xenial:~$ uname -a
ubuntu@ubuntu-xenial:~$ cat /etc/lsb-release
# Install Python2.x1
2
3ubuntu@ubuntu-xenial:~$ sudo apt-get update
ubuntu@ubuntu-xenial:~$ sudo apt-get install -y python
# Check Python Version1
ubuntu@ubuntu-xenial:~$ python --version
# Install Docker1
ubuntu@ubuntu-xenial:~$ sudo apt-get install -y docker.io
# Check Docker Version1
ubuntu@ubuntu-xenial:~$ sudo docker version
# Install Docker Compose1
ubuntu@ubuntu-xenial:~$ sudo curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 設定權限1
ubuntu@ubuntu-xenial:~$ sudo chmod +x /usr/local/bin/docker-compose
# Check Docker Compose Version1
ubuntu@ubuntu-xenial:~$ docker-compose --version
# /etc/ssl/openssl.cnf內的[v3_ca]加入倉庫IP1
2
3ubuntu@ubuntu-xenial:~$ sudo vim /etc/ssl/openssl.cnf
[ v3_ca ]
subjectAltName=IP:xx.xx.xx.xx
安裝 Harbor
# 下載版本v1.1.11
ubuntu@ubuntu-xenial:~$ wget https://github.com/vmware/harbor/releases/download/v1.1.1/harbor-online-installer-v1.1.1.tgz
# 解壓縮1
ubuntu@ubuntu-xenial:~$ tar zxvf harbor-online-installer-v1.1.1.tgz
# Create Directory for Certificate and Change Directory1
2
3ubuntu@ubuntu-xenial:~$ mkdir cert
ubuntu@ubuntu-xenial:~$ cd cert
# Create Certificate
# Input Common Name only at this time1
ubuntu@ubuntu-xenial:~/cert$ openssl req -sha256 -x509 -days 365 -nodes -newkey rsa:4096 -keyout registry.kenny.info.key -out registry.kenny.info.crt
1 | Country Name (2 letter code) [AU]: |
# Change Directory and Modify harbor.cfg1
2
3ubuntu@ubuntu-xenial:~$ cd harbor
ubuntu@ubuntu-xenial:~/harbor$ vim harbor.cfg
1 | < hostname = reg.mydomain.com |
# Harbor has been installed1
ubuntu@ubuntu-xenial:~/harbor$ sudo ./install.sh
# Check Containers for Harbor1
ubuntu@ubuntu-xenial:~/harbor$ sudo docker-compose top
#WebUI(https://IP)
帳號:admin
密碼:xxxxx
安裝 Certificate
# 修改憑證,需用公司憑證取代
1 | ubuntu@ubuntu-xenial:~/harbor$ vim /home/ubuntu/cert/registry.kenny.info.crt |
# 修改Docker login需要之憑證
1 | ubuntu@ubuntu-xenial:~/harbor$ mkdir -p /etc/docker/certs.d/registry.kenny.info/ |
# 測試登入1
ubuntu@ubuntu-xenial:~/harbor$ docker login registry.kenny.info
帳號:admin
密碼:xxxxxx
LDAP設定
# 修改設定檔
1 | ubuntu@ubuntu-xenial:~/harbor$ vim harbor.cfg |
# 重啟服務並強制清除data目錄下資料
1 | ubuntu@ubuntu-xenial:~/harbor$ docker-compose down -v |
# 先使用管理者帳號登入
1 | ubuntu@ubuntu-xenial:~/harbor$ docker login registry.kenny.info |
帳號:admin
密碼:xxxxxx
# 登入Web-UI調整設定
Configuration > Authentication
測試連線成功後,即可使用AD帳號登入
Push、Pull
# 登入
1 | ubuntu@ubuntu-xenial:~/harbor$ docker login registry.kenny.info |
# 幫需上傳的image加上tag
1 | ubuntu@ubuntu-xenial:~/harbor$ docker tag redis:latest registry.kenny.info/redis:latest |
# 上傳
1 | ubuntu@ubuntu-xenial:~/harbor$ docker push registry.kenny.info/library/redis:latest |
# 下載
1 | ubuntu@ubuntu-xenial:~/harbor$ docker pull registry.kenny.info/library/redis:latest |