Docker 部署 Python 脚本容器实战备忘录
在日常开发中,经常需要将本地的 Python 脚本部署到服务器上长期运行,并保证它断电重启后自动拉起、日志可持续查看、更新方便。
这里整理一套基于 Docker 的标准化部署流程,用于快速复用与迁移。
一、准备工作
确保你的项目目录下包含以下文件:
your_project/
├── Dockerfile # Docker 构建文件
├── requirements.txt # Python 依赖包列表
├── your_script.py # 你要运行的 Python 脚本
└── logs/ # (可选)挂载日志输出目录
二、Dockerfile 示例
# 使用轻量级 Python 基础镜像
FROM python:3.10-slim
# 设置工作目录
WORKDIR /app
# 安装依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 拷贝主程序
COPY your_script.py .
# 启动脚本
CMD ["python", "your_script.py"]
三、构建镜像
进入项目根目录,执行以下命令构建镜像:
docker build -t bot:1.5log .
bot 为镜像名称,1.5log 是版本标签,推荐使用语义化命名便于区分。
四、运行容器
执行如下命令启动容器,并将本地 logs 文件夹挂载到容器内部:
docker run -d --name ethbot \
-v $(pwd)/logs:/app/logs \
--restart always \
bot:1.5log
|
参数 |
说明 |
|---|---|
|
-d |
后台运行 |
|
--name ethbot |
容器名称自定义 |
|
-v $(pwd)/logs:/app/logs |
将本地 logs 映射进容器,便于查看日志 |
|
--restart always |
保证断电/重启自动拉起 |
五、常用命令速查
|
命令 |
说明 |
|---|---|
|
查看日志 |
docker logs -f ethbot |
|
进入容器 |
docker exec -it ethbot bash |
|
停止容器 |
docker stop ethbot |
|
删除容器 |
docker rm -f ethbot |
|
删除镜像 |
docker rmi bot:1.5log |
|
重建镜像 |
修改完代码后重新执行 docker build ... |
小技巧建议
-
持续运行的脚本建议使用日志模块输出到文件,确保数据可查
-
容器内建议使用 UTC+8 时间同步 方便排查问题
-
每次构建建议使用版本号标记(如 :v1.5log),方便回滚
如果你也有多个 Python 脚本需要后台运行,不妨将此模板封装成你自己的镜像结构,真正实现“一键部署 + 稳定运行”的目标。

