网站首页
热卖产品
产品中心
服务保障
解决方案
帮助中心
生态合作
关于我们
热卖产品

CPS云源动力为您提供高速、稳定、安全、弹性的云计算服务

香港2核2G8M云
2核铂金8255C
2G DDR4 3200
香港8C站群
2*6138@40核80线程2.0-3.
64G DDR4+1T SSD
美国/香港云手机
8核6G内存
Android 11
游戏面板
高频 3.30 GHz
1-100人
亚太免备案CDN
带宽: 50M
域名数: 10个
SSL证书
单域名
IP证书
产品中心

计算、存储、监控、安全,完善的云产品满足您的一切所需

所有产品
产品中心
弹性云服务器
采用分布式架构三层存储功能,同时可弹性扩展的资源用量,为客户业务在高峰期的顺畅保驾护航。
裸金属独服
专注骨干网络服务器租用10年,品质卓越,服务更有保障!
云手机云电脑
构建在强大云计算能力之上的云端仿真手机
云游戏面板
专业的游戏面板云服务器,支持一键部署启动,支持网页后台一键操作,方便快捷!最快1分钟即可开好游戏服务器!
CDN
自定义加速设置,攻击 防护、网站加速、加快收录于一体,网站问题一站解决!
SSL证书
快速发放,简单验证,提供加密和身份验证,适合大部分网站
虚拟主机
CN2线路,稳定,速度快,适合外贸!
域名注册
国际广泛通用域名格式!
服务保障

数据零丢失·服务零中断·智能容灾调度·服务可用性99.99%·违约立享百倍赔付

服务保障
10倍赔付·SLA保障·7x24小时极速响应
VIP会员服务
尊享特权·专属通道·全天候优先服务保障
信任中心
提供权威认证,安全合规的云计算服务,充分保障您的业务实践与业务安全
数据中心
智算未来·安全高效·全球节点无忧服务
防诈骗公益宣传
全民防诈·智能预警·共建安全网络防线
官方公告
客户至上、服务为根、勇于拼搏、务实创新
解决方案

超算赋能·全链路监测·行业级深度定制

网站云解决方案
提供网站建设的一站式服务,涵盖PC站、手机站、H5站、公众号等多种类型,满足各行业客户网站建设需求。
电商解决方案
为各规模的企业提供灵活、安全、稳定、低成本的方案,帮助电商企业从容面对业务高峰、安全压力等。
金融解决方案
通过大数据、AI、区块链、物联网等新一代信息技术助力金融客户应用创新、安全合规和产业发展。
游戏解决方案
通过WebRTC保障端到端延迟≤50ms ,部署全球智能加速节点,支持百万级并发 ,内置DDoS防护与AI反外挂系统 ,适配PC/主机/移动端跨平台运行。
移动云解决方案
随时随地通过手机、平板电脑等移动设备安全顺畅地访问服务器上的各种应用软件!
教育云解决方案
依托云计算、大数据、视频云等技术优势,形成的一体化解决方案,以满足不同企业对在线教育的需求。
医疗云解决方案
依托CPS云优势,联合合作伙伴,连接医疗服务机构、医药研发与流通、康养等,构建医疗大健康产业云生态。
生态合作

开放生态·协同创新·全产业链价值共享

cps推广
高佣返利·裂变收益·合作伙伴共享财富
代理合作
共赢生态·全链赋能·代理渠道强势扶持
宝塔
一键部署·极速响应·专业技术全程护航
生态合作
资源整合·弹性扩容·生态伙伴协同共赢
关于我们

云网筑基·AI领航·服务千行百业转型

公司介绍
技术深耕·全球节点·十年赋能客户成功
友情链接
智能反链分析·友链精准匹配·收录率99.99%

Python自动化部署VPS服务器:Docker容器化实践全流程

文章分类:技术文档 / 创建时间:2025-07-02

VPS服务器(Virtual Private Server,虚拟专用服务器)上部署应用时,手动操作易出错且效率低。通过Python自动化结合Docker容器化(一种轻量级虚拟化技术,可将应用及其依赖打包成独立容器运行),能显著提升部署效率与稳定性。本文详细拆解从环境准备到自动化部署的全流程。

Python自动化部署VPS服务器:Docker容器化实践全流程

一、基础环境准备


要启动自动化部署,需先完成三项核心准备:

1. VPS服务器配置


首先需要一台配置合适的VPS服务器,建议选择2核4G起步的配置(满足多数中小型应用需求)。确保已安装Ubuntu 20.04及以上系统,并在控制台开放80、5000等常用网络端口(具体端口根据应用需求调整)。

2. Python环境搭建


VPS终端输入以下命令安装Python 3和pip工具:

sudo apt update
sudo apt install python3 python3-pip -y

安装完成后,通过`python3 --version`和`pip --version`验证是否成功,正常会显示版本号(如Python 3.8.10)。

3. Docker引擎安装


Docker是容器化的核心工具,在Ubuntu系统执行:

sudo apt-get update
sudo apt-get install docker.io -y

安装后启动服务并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

输入`docker --version`检查,显示Docker版本(如Docker version 20.10.21)即安装成功。

二、Python自动化脚本入门


Python能通过`docker`库(Docker官方Python SDK)调用Docker API,实现容器操作自动化。

1. 安装docker库


VPS终端执行:

pip install docker

该库提供容器创建、镜像构建等核心功能,是连接Python与Docker的桥梁。

2. 基础脚本示例


以下脚本可自动创建并启动一个Nginx容器(常用Web服务器):

import docker

# 连接本地Docker服务
client = docker.from_env()

# 启动Nginx容器(detach=True表示后台运行)
nginx_container = client.containers.run(
    'nginx:latest',  # 使用最新版Nginx镜像
    detach=True,
    ports={'80/tcp': 80}  # 映射容器80端口到VPS的80端口
)
print(f"Nginx容器已启动,ID:{nginx_container.id}")

运行脚本后,访问VPS公网IP即可看到Nginx默认页面,无需手动输入`docker run`命令。

三、Docker容器化应用实战


以Flask(Python轻量级Web框架)应用为例,演示如何通过Python脚本完成镜像构建与容器部署。

1. 编写Dockerfile


在项目根目录创建`Dockerfile`(容器构建说明书):

FROM python:3.9-slim  # 基于Python 3.9轻量镜像
WORKDIR /app  # 设置工作目录为/app
COPY requirements.txt .  # 复制依赖文件到容器
RUN pip install --no-cache-dir -r requirements.txt  # 安装依赖
COPY . .  # 复制当前目录所有文件到容器
CMD ["python", "app.py"]  # 启动命令(运行app.py)

其中`requirements.txt`需包含Flask依赖(如`flask==2.0.1`)。

2. 自动化构建镜像


Python脚本调用Docker API构建镜像:

import docker

client = docker.from_env()

# 构建镜像(path指定项目目录,tag为镜像命名)
image, build_logs = client.images.build(
    path='.',
    tag='flask-app:latest'
)

# 打印构建日志(可选)
for log in build_logs:
    print(log.get('stream', ''), end='')

运行后会生成名为`flask-app:latest`的镜像,包含Flask应用所有依赖。

3. 启动应用容器


基于构建好的镜像启动容器:

container = client.containers.run(
    'flask-app:latest',  # 镜像名称
    detach=True,
    ports={'5000/tcp': 5000}  # 映射容器5000端口到VPS的5000端口
)
print(f"Flask容器已启动,访问http://VPS公网IP:5000 查看应用")


四、全流程自动化脚本整合


将构建镜像、启动容器步骤整合为一个主脚本,实现“一键部署”:

import docker

def build_image():
    """构建Flask应用镜像"""
    client = docker.from_env()
    image, _ = client.images.build(path='.', tag='flask-app:latest')
    return image

def run_container(image):
    """基于镜像启动容器"""
    client = docker.from_env()
    container = client.containers.run(
        image.tags[0],  # 使用镜像的tag名称
        detach=True,
        ports={'5000/tcp': 5000}
    )
    return container

if __name__ == "__main__":
    # 执行构建与部署
    app_image = build_image()
    app_container = run_container(app_image)
    print(f"部署完成!容器ID:{app_container.id}")

VPS服务器终端输入`python3 deploy.py`运行脚本,即可自动完成从镜像构建到容器启动的全流程。

通过Python自动化结合Docker容器化,VPS服务器的应用部署不再依赖繁琐的手动操作。这种方式不仅减少了人为配置错误,还能通过脚本快速复用到测试、生产等多环境,尤其适合需要频繁更新或扩展的中小型应用。掌握这一流程后,你可以根据实际需求调整脚本,比如添加容器监控、自动清理旧镜像等功能,进一步提升部署效率。