centos

Docker在CentOS上的自动化部署

小樊
34
2025-11-03 12:23:54
栏目: 智能运维

Docker在CentOS上的自动化部署指南

1. 准备Docker环境

在CentOS系统上部署Docker前,需先安装并配置Docker环境。以CentOS 7为例,可通过以下命令完成安装:

# 添加Docker官方YUM源
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装Docker CE及必要组件
yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务并设置开机自启
systemctl start docker && systemctl enable docker
# 验证Docker安装
docker --version

上述步骤确保系统具备Docker运行环境,为后续镜像构建与容器部署奠定基础。

2. 编写Dockerfile定义应用环境

Dockerfile是容器化的核心配置文件,用于描述应用的运行环境、依赖及启动命令。以下是常见场景的示例:

根据应用类型调整Dockerfile内容,确保镜像包含应用运行所需的所有依赖。

3. 编写自动化部署脚本

通过Shell脚本自动化Docker镜像构建、容器运行及状态检查,减少手动操作误差。示例如下:

#!/bin/bash
# 定义镜像与容器名称
IMAGE_NAME="my-node-app"
CONTAINER_NAME="my-running-app"

# 构建Docker镜像
echo "Building Docker image: $IMAGE_NAME"
docker build -t $IMAGE_NAME .

# 检查容器是否已存在,存在则停止并删除
if docker ps -a | grep -q $CONTAINER_NAME; then
  echo "Container $CONTAINER_NAME exists. Stopping and removing..."
  docker stop $CONTAINER_NAME && docker rm $CONTAINER_NAME
fi

# 运行新容器
echo "Running new container: $CONTAINER_NAME"
docker run -d -p 8080:8080 --name $CONTAINER_NAME $IMAGE_NAME

# 检查容器状态
echo "Container status:"
docker ps -a | grep $CONTAINER_NAME

保存为deploy.sh后,赋予执行权限:

chmod +x deploy.sh

运行脚本即可自动完成镜像构建与容器部署。

4. 使用CI/CD工具实现代码触发自动化

为实现代码提交后自动部署,可集成Jenkins、GitLab CI/CD或GitHub Actions等工具。以下以GitHub Actions为例:

5. 可选:使用Docker Compose管理多容器应用

若应用包含多个服务(如Web+数据库),可使用docker-compose.yml定义服务关系,并通过脚本自动化部署:

运行./deploy_compose.sh即可自动部署多容器应用。

6. 安全与监控建议

0
看了该问题的人还看了