安裝ubuntu 20.04.5後
設定固定IP
sudo vi /etc/netplan/00-installer-config.yaml
例如:
# This is the network config written by 'subiquity'
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.0.50/24]
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [1.1.1.1,8.8.8.8]
重啟網路設定
sudo netplan apply
進入ubuntu
sudo apt-get update && sudo apt-get upgrade -y
更改系統的時區
看目前時區
timedatectl
修改時區
sudo timedatectl set-timezone Asia/Taipei
安裝docker
更新軟件存儲庫
sudo apt update
下載依賴項:允許您的 Ubuntu 20.04 系統通過 HTTPS 訪問 Docker 存儲庫
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加 Docker 的 GPG 密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
安裝 Docker 存儲庫
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安裝最新的 Docker
先再次更新存儲庫
sudo apt update
安裝最新的 Docker 版本
sudo apt-get install docker-ce
驗證 Docker 安裝
docker --version
啟用 Docker 服務
sudo systemctl start docker
sudo systemctl enable docker
檢查服務的狀態
sudo systemctl status docker
在沒有 Sudo 的情況下運行 Docker 命令
創建docker組
sudo groupadd docker
鍵入以下命令(確保將[user]替換 為您的用戶名,但別保留[])
sudo usermod -aG docker [user]
例如
sudo usermod -aG docker sct
啟用新設置
su - [user]
例如
su - sct
檢查以確認用戶現在是 docker 組的一部分
id -nG
測試
docker run hello-world
-----------------------------------------------------------------
安裝Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
設定執行權限
sudo chmod +x /usr/local/bin/docker-compose
看版本
docker-compose --version
----------------------------------------------------------------
安裝Harbor
要先安裝 Docker 與 Docker Compose
獲得的安裝包位置
wget https://github.com/goharbor/harbor/releases/download/v2.6.2/harbor-offline-installer-v2.6.2.tgz
解壓縮
tar xvf harbor-offline-installer-v2.6.2.tgz
修改harbor.yml
cd harbor
sudo cp harbor.yml.tmpl harbor.yml
sudo vi harbor.yml
修改hostname、先將happs拿掉、登入admin密碼及資料庫密碼
hostname: 192.168.137.200
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
harbor_admin_password: Windows1
database:
password: Windows1
修改完成後執行 sudo ./install.sh
完成後開啟瀏覽器http://192.168.137.200登入
也可以docker login 192.168.137.200
重開機後要輸入sudo docker-compose up -d
-------------------------------------------------------------
使用HTTPS
建置放證書的目錄
sudo mkdir -p /data/certs
cd /data/certs
產生CA證書
創建key文件:
sudo openssl genrsa -out ca.key 4096
產生證書
sudo openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/CN=192.168.137.200" -key ca.key -out ca.crt
產生服務器證書
創建私鑰
sudo openssl genrsa -out server.key 4096
產生證書簽名請求
sudo openssl req -new -sha512 -subj "/CN=192.168.137.200" -key server.key -out server.csr
產生harbor倉庫主機的證書
產生一個x509 v3擴展文件
sudo vim v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.137.200
使用此v3.ext文件為您的Harbor主機產生證書
sudo openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
配置和安裝證書
將server.crt文件和server.key文件拷貝到此目錄/data/cert下
因為我前面一直是在這個路徑操作的就省略了該步驟
修改harbor的配置文件 修改以下配置項
root@eb7023:/data/certs>sudo vim ~/harbor/harbor.yml
hostname: 192.168.137.200
https:
port:443
certificate: /data/certs/server.crt
private_key: /data/certs/server.key
可以重啟一下harbor倉庫了,注意這里要CD到harbor解壓目錄
cd /home/sct/harbor/
sudo ./prepare
停止當前運行的harbor
sudo docker-compose down -v
後台運行的harbor
sudo docker-compose up -d
為docker配置harbor認證
將server證書cp到docker所在的機器固定目錄中
sudo mkdir -p /etc/docker/certs.d/192.168.137.200
cd /data/certs/
sudo cp server.crt /etc/docker/certs.d/192.168.137.200/server.crt
然后docker直接login即可
docker login 192.168.137.200
將 Harbor 設置為系統服務
編輯文件 sudo vim /lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f /home/sct/harbor/docker-compose.yml up
ExecStop =/usr/local/bin/docker-compose -f /home/sct/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
sudo systemctl start harbor
sudo systemctl enable harbor
------------------------------------------------------------------------------------
測試建置Harbor倉庫主機是否可行
以瀏覽器登入
https://192.168.137.200
在左邊點選項目-->選新建項目-->填入項目名稱(例如ithome),確定即可
透過 Docker login 到 https://192.168.137.200
下載我本來放在 Docker hub 上的 Image,並透過 docker tag 將其重新命名
docker pull hwchiu/netutils
docker tag hwchiu/netutils 192.168.137.200/ithome/netutils:latest
將新命名的 docker image 推向我們建置的 Harbor container registry
docker push 192.168.137.200/ithome/netutils:latest
瀏覽器登入192.168.137.200 看netutils是否在ithome項目目錄中
-------------------------------------------------------------------------
安裝掃描器(掃漏洞)
先停止服務
sudo systemctl stop harbor
安裝掃描器
cd /home/sct/harbor
sudo ./install.sh --with-notary --with-trivy --with-chartmuseum
啟動服務
sudo systemctl start harbor
登入瀏覽器,進入項目,點選項目名稱,再點選鏡像倉庫名稱,選工作,選掃描即可
沒有留言:
張貼留言