在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工具实现全流程自动化。