debian

Debian Docker如何实现自动化部署

小樊
47
2025-09-03 05:26:25
栏目: 智能运维

在Debian上实现Docker自动化部署,可结合工具或脚本完成,以下是具体方法:

一、使用Shell脚本

编写脚本实现镜像构建、容器启停等操作,例如:

#!/bin/bash
IMAGE_NAME="your-image:latest"
CONTAINER_NAME="your-container"

# 检查并构建镜像
if ! docker image inspect $IMAGE_NAME &> /dev/null; then
    docker build -t $IMAGE_NAME .
fi

# 停止并删除旧容器(若存在)
docker stop $CONTAINER_NAME || true
docker rm $CONTAINER_NAME || true

# 启动新容器
docker run -d --name $CONTAINER_NAME $IMAGE_NAME
echo "Deployment completed."

保存为deploy.sh,添加执行权限后运行:chmod +x deploy.sh && ./deploy.sh

二、借助CI/CD工具

1. Jenkins

2. GitLab CI/CD

stages:
  - build
  - deploy
build_job:
  stage: build
  script:
    - docker build -t your-image:latest .
deploy_job:
  stage: deploy
  script:
    - ssh user@server "docker pull your-image:latest && docker stop container || true && docker run -d --name container your-image:latest"

三、使用Ansible

- hosts: docker-servers
  tasks:
    - name: Install Docker
      apt:
        name: docker-ce
        state: present
    - name: Deploy Docker container
      docker_container:
        name: your-container
        image: your-image:latest
        state: started
        ports:
          - "80:80"

运行Playbook:ansible-playbook -i inventory deploy.yml

四、使用Docker Compose

通过docker-compose.yml定义多容器应用,结合脚本实现自动化:

version: '3'
services:
  app:
    image: your-image:latest
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data

编写部署脚本:

#!/bin/bash
docker-compose up -d --build

赋予执行权限后运行:chmod +x deploy-compose.sh && ./deploy-compose.sh

五、工具选择建议

0
看了该问题的人还看了