在Debian上使用Docker进行自动化部署,可结合工具实现,核心步骤如下:
一、安装Docker
- 更新系统并安装依赖:
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release - 添加Docker官方GPG密钥和仓库:
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 - 安装Docker并启动服务:
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(适用于多容器场景):
编写docker-compose.yml定义服务,通过脚本执行:#!/bin/bash docker-compose up -d --build
三、集成CI/CD工具(以Jenkins为例)
- 安装Jenkins:
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 - 配置Jenkins Pipeline:
在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' } } } }
四、触发自动化部署
- 代码提交触发:在代码仓库(如GitHub/GitLab)中配置Webhook,关联Jenkins自动拉取代码并执行部署脚本。
- 定时任务:通过
cron设置定时执行部署脚本,例如每日凌晨更新。
五、验证与监控
- 通过
docker ps查看容器运行状态,docker logs查看日志。 - 使用Jenkins或GitLab的界面监控构建和部署结果。
说明:根据实际需求选择工具,简单场景可直接用Shell脚本,复杂项目建议结合CI/CD工具实现全流程自动化。