一、docker-compose
1.概述
docker-compose是一個自動編排工具,可以根據dockerfile自動化部署docker容器。
主要功能
配置定義
????????使用YAML文件(通常命名為docker - compose.yml)來描述應用程序的服務、網絡和卷等配置。
容器編排
????????可以同時啟動、停止和管理多個相關聯的容器。只需運行一個命令,如docker-compose up
就可以啟動所有在docker-compose.yml文件中定義的服務對應的容器。
????????它會按照依賴關系正確地啟動容器。
網絡管理
????????自動創建和管理容器之間的網絡連接。默認情況下,它會創建一個橋接網絡,使得同一docker-compose.yml文件中的服務可以相互通信。也可以自定義網絡的設置,如指定網絡的子網、網關等參數。?
卷掛載
????????方便地將主機上的目錄或文件掛載到容器內部。這對于數據的持久化存儲或者共享配置文件非常有用。???
2.安裝docker-compose
cd /usr/local/bin
mv docker-compose-linux-x8664 docker-compose
chmod 777 docker-compose
docker-compose -v
3.實例:部署lnmp
#nignx mysql php所需要的配置文件和Dockerfile已經配置完畢
#用docker-compose一鍵部署
vim?docker-compose.yml
docker-compose -f docker-compose.yml up -d
#up -d 后臺運行?
?
二、docker-harbor
1.概述
????????Docker-Harbor是一個開源的企業級Docker Registry管理工具,由VMware公司開發并捐贈給CNCF(云原生計算基金會)。它擴展了Docker Distribution,增加了企業級功能,如安全、審計和多租戶支持,旨在幫助企業用戶更安全地存儲和管理Docker鏡像,并簡化鏡像的部署流程。 ?
功能
- 自帶圖形管理的UI界面
- 能夠基于角色進行權限的控制
- harbor倉庫每一個組件都是依賴docker的容器構建,使用docker-compose一鍵部署
- 自帶部署的模板
harbor的特點
- 基于角色控制,不同用戶在項目中有不同的權限。harbor是按照項目來進行組織的
- 多個harbor之間可以進行鏡像之間的同步
- 可以在UI界面直接對鏡像進行管理,增刪改查
- 自帶審計功能,所有的對鏡像的操作都有記錄
2.安裝harbor
#443端口即使被注釋掉了,但是還是用的443
vim /usr/lib/systemd/system/docker.service
#修改13行
fd:// --insecure-registry 192.168.206.30 #指向到服務端
systemctl daemon-reload
systemctl restart docker
cd /opt
tar -xf? harbor.v2.8.1.tar.gz -C /usr/local/
cd /usr/local/harbor
vim?harbor.yml
?
netstat -antp | grep 80
#看80端口有沒有被占用,如果被占用就關閉那個服務
./prepare
./install.sh
?
3.上傳和下載鏡像?
#服務器和客戶端都要安裝docker
192.168.206.30 harbor服務器1
192.168.206.40 客戶端
#服務端上傳和下載鏡像
docekr tag nginx:1.22 127.0.0.1/xy104/nginx:v1 #本地ip/項目名稱/鏡像名
#可以在服務器web頁面上面點擊拉取命令,在服務器上面執行
?
#客戶端上傳和下載鏡像
vim /usr/lib/systemd/system/docker.service
13行
fd:// --insecure-registry 192.168.206.30 #指向到服務端
systemctl daemon-reload
systemctl restart docker
?4.用戶分類
- 項目管理員:最高權限,讀寫,對項目中用戶進行管理,鏡像掃描。
- 維護人員:對項目內的鏡像可以讀寫,修改,但是不能掃描,也不能對用戶管理
- 開發者: 只能讀寫,不能刪除
- 訪客:只能讀
- 受限訪客:只能讀
?
?
5.倉庫間鏡像轉移
192.168.206.30 harbor服務器1
192.168.206.55?harbor服務器2
?
?