要備份和遷移 Chevereto 的 Docker 服務,需要執行以下步驟:
- 停止正在運行的 Chevereto 容器,使用以下命令:
docker stop chevereto
- 備份
/var/www/html/images/
目錄,不同的 VPS 可能具有不同的備份和遷移方法。如果你是使用基於 Linux 的 VPS,可以使用tar
命令進行備份。例如,執行以下命令將images
目錄備份到當前目錄下:
tar -zcvf images_backup.tar.gz /var/www/html/images/
- 匯出資料庫,使用以下命令:
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
其中,CONTAINER
是 Chevereto 容器的名稱或 ID,DATABASE
是 Chevereto 使用的資料庫名稱。
-
複製備份檔案和資料庫匯出檔案到新的 VPS 上。
-
在新的 VPS 上安裝 Docker 和 Docker Compose,如果還沒有安裝可以根據對應作業系統的官方安裝指南進行安裝。例如,在 Ubuntu 20.04 上可以按照如下方式安裝:
sudo apt-get update
sudo apt-get install docker-compose docker.io
- 在新的 VPS 上創建一個新的目錄。為了方便,可以將目錄命名為 Chevereto,並切換到該目錄中,使用以下命令:
mkdir Chevereto
cd Chevereto
- 在 Chevereto 目錄中創建一個新的
docker-compose.yml
檔案,用於啟動 Chevereto 服務。為了確保服務正常啟動,請確保修改以下環境變數,使其與原始 Chevereto 服務相同:
-
CHEVERETO_DB_HOST
: 資料庫的連接地址。 -
CHEVERETO_DB_USER
: 用於連接資料庫的使用者名稱。 -
CHEVERETO_DB_PASS
: 用於連接資料庫的密碼。 -
CHEVERETO_DB_NAME
: Chevereto 所使用的資料庫名稱。 -
CHEVERETO_ASSET_STORAGE_BUCKET
: 圖片檔案的儲存路徑。
具體的 docker-compose.yml
檔案內容如下:
version: '3'
services:
chevereto:
image: ghcr.io/chevereto/chevereto:latest
container_name: chevereto
ports:
- "80:80"
environment:
- CHEVERETO_DB_HOST=database
- CHEVERETO_DB_USER=chevereto
- CHEVERETO_DB_PASS=user_database_password
- CHEVERETO_DB_NAME=chevereto
- CHEVERETO_ASSET_STORAGE_TYPE=local
- CHEVERETO_ASSET_STORAGE_URL=/images/_assets/
- CHEVERETO_ASSET_STORAGE_BUCKET=/var/www/html/images/_assets/
volumes:
- /var/www/html/images:/var/www/html/images
depends_on:
- database
database:
image: ghcr.io/chevereto/chevereto-mariadb:latest
container_name: chevereto_database
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=chevereto
請確保 docker-compose.yml
檔案位於 Chevereto 目錄的根目錄中,以便後續執行命令。
- 通過以下命令在新的 VPS 上啟動 Chevereto 服務:
docker-compose up -d
這將在新的 VPS 上啟動 Chevereto 服務,並且根據環境變數設定連接到原來的資料庫和讀取備份的目錄。在這之後,你可以通過瀏覽器訪問新的 VPS 的 IP 地址或域名來檢查 Chevereto 服務是否正常工作。