溫馨提示×

Debian如何使用Docker進行自動化部署

小樊
47
2025-08-18 03:05:33
欄目: 智能運維

在Debian上使用Docker進行自動化部署,可結合工具實現,核心步驟如下:

一、安裝Docker

  1. 更新系統并安裝依賴:
    sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
    
  2. 添加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
    
  3. 安裝Docker并啟動服務:
    sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker && sudo systemctl enable docker
    

二、編寫自動化部署腳本

  1. 基礎部署腳本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
    
  2. 使用Docker Compose(適用于多容器場景):
    編寫docker-compose.yml定義服務,通過腳本執行:
    #!/bin/bash
    docker-compose up -d --build
    

三、集成CI/CD工具(以Jenkins為例)

  1. 安裝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
    
  2. 配置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工具實現全流程自動化。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女