在Debian上使用Docker進行自動化部署,可結合工具實現,核心步驟如下:
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
deploy.sh
):#!/bin/bash
IMAGE_NAME="your-image:latest"
CONTAINER_NAME="your-container"
# 停止并刪除舊容器(可選)
docker stop $CONTAINER_NAME 2>/dev/null || true
docker rm $CONTAINER_NAME 2>/dev/null || true
# 構建并運行新容器
docker build -t $IMAGE_NAME . && docker run -d --name $CONTAINER_NAME -p 80:80 $IMAGE_NAME
docker-compose.yml
定義服務,通過腳本執行:#!/bin/bash
docker-compose up -d --build
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update && sudo apt install jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins
Jenkinsfile
,定義構建、測試、部署流程,例如:pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'docker build -t my-app:latest .'
}
}
stage('Deploy') {
steps {
sh 'docker stop my-app-container || true'
sh 'docker run -d --name my-app-container -p 8080:80 my-app:latest'
}
}
}
}
cron
設置定時執行部署腳本,例如每日凌晨更新。docker ps
查看容器運行狀態,docker logs
查看日志。說明:根據實際需求選擇工具,簡單場景可直接用Shell腳本,復雜項目建議結合CI/CD工具實現全流程自動化。