全部文章導航
1、安裝Docker
# 安裝所需的包。yum-utils提供了yum-config-manager 效用,並device-mapper-persistent-data和lvm2由需要 devicemapper存儲驅動程序
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 設置穩定存儲庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安裝Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
# centos 8遇到 problem with installed package buildah-1.19.7-1.module_el8.4.0+781+acf4c33b.x86_64 問題
# 方法1 執行yum erase podman buildah 再執行 yum -y install docker-ce
# 設置開機啟動
sudo systemctl enable docker
sudo systemctl start docker
# 重啟docker
sudo systemctl restart docker
# 參考: https://docs.docker.com/engine/install/centos/
2、安裝Docker-compose
# 下載指定版本的docker-compose。 參考: https://github.com/docker/compose/releases查看最新版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 將可執行權限應用於二進制文件:
sudo chmod +x /usr/local/bin/docker-compose
# 創建軟鏈:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 測試是否安裝成功:
sudo docker-compose --version
3、安裝Harbor
1、下載Harbor安裝文件
mkdir -p /harbor
cd /harbor/
# https://github.com/goharbor/harbor/releases 查看最新版本
wget https://github.com/vmware/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz
# 解壓
tar -zxf harbor-online-installer-v2.3.2.tgz
2、配置Harbor
# 切換到解壓目錄
cd harbor
# 復制配置文件
cp harbor.yml.tmpl harbor.yml
# 創建用於存放harbor的持久化數據的目錄
mkdir -p /opt/application/harbor
# 編輯Harbor配置信息
vim harbor.yml
harbor.yml配置文件主要修改參數如下:
# 設置訪問地址,可以使用ip、域名,不可以設置為127.0.0.1或localhost。默認情況下,harbor使用的端口是80,若使用自定義的端口,除了要改docker-compose.yml文件中的配置外,這里的hostname也要加上自定義的端口,否則在docker login、push時會報錯
hostname: 192.168.110.104
#http配置
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 9999
#https配置(如不需要可不配置,注釋掉)
# https related config
#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
#external_url: https://reg.mydomain.com:8433 #如果要啟用外部代理,比如外層的NGINX、LB等,請取消注釋external_url,當它啟用時,hostname將不再使用。
harbor_admin_password: Harbor12345 #admin密碼
#數據庫配置
database:
# The password for the root user of Harbor DB. Change this before any production use.
password: root123
# The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
max_idle_conns: 50
# The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
# Note: the default number of connections is 100 for postgres.
max_open_conns: 100
#持久化數據目錄
data_volume: /opt/application/harbor
3、安裝並啟動Harbor
# 安裝
./install.sh
4、訪問harbor WEB界面
訪問地址: http://192.168.110.104:9999 用戶名: admin 密碼:Harbor12345
5、設置開機啟動
# 創建systemd配置文件
sudo vi /usr/lib/systemd/system/harbor.service
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 /harbor/harbor/docker-compose.yml up # /harbor/harbor/ 為壓縮包解壓路徑
ExecStop=/usr/local/bin/docker-compose -f /harbor/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
開機啟動:
# 設置開機啟動
sudo systemctl enable harbor
sudo systemctl start harbor
6、上傳下載鏡像到Harbor倉庫
1、登錄私有倉庫:
docker login 192.168.110.104:9999
Username: admin
Password:
Error response from daemon: Get https://192.168.110.104:9999/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Linux訪問(解決Client.Timeout exceeded while awaiting headers問題):
# 設置/etc/docker/daemon.json文件,沒有的話可以新增
vim /etc/docker/daemon.json
{
"insecure-registries":["192.168.110.104:9999"]
}
# 然后重新啟動Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
Windows訪問(解決Client.Timeout exceeded while awaiting headers問題):
2、新建項目:
新建項目free-test
3、給構建好的鏡像打標簽並上傳到harbo
# 以 hello-world:latest 鏡像為例
docker tag {鏡像名稱}:{鏡像版本號} {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
#示例: docker tag hello-world:latest 192.168.110.104:9999/free-test/hello-world:v21.9.1.1
# 推送鏡像
docker push {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
#示例: docker push 192.168.110.104:9999/free-test/hello-world:v21.9.1.1
4、下載鏡像到本地
# 刪除本地鏡像
docker rmi {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
# 示例: docker rmi 192.168.110.104:9999/free-test/hello-world:v21.9.1.1
# 拉取鏡像到本地
docker pull {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
# 示例: docker pull 192.168.110.104:9999/free-test/hello-world:v21.9.1.1
參考資料
安裝:https://blog.csdn.net/qq_40378034/article/details/90752212
安裝:https://www.cnblogs.com/wxwgk/p/13287336.html
harbor https配置:https://www.cnblogs.com/cjwnb/p/13441071.html
**Harbor修改初始配置參數 **
# 1、切換到harbor安裝包目錄
cd /harbor/harbor/
# 2、修改配置
./prepare
# 3、重啟
docker-compose down -v //停止Harbor
docker-compose up -d //啟動Harbor