news 2026/7/8 10:36:53

jyd_tts Docker容器化部署开机自启

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jyd_tts Docker容器化部署开机自启

如果是Docker 容器不要在 Dockerfile 里面做开机自启,Docker 的标准做法是使用--restart策略。

推荐方案(★★★★★)

Dockerfile

建议把CMD改成下面这样,不要使用nohup

FROM python:3.10-slim WORKDIR /opt/jyd01/wangruihua/jyd_tts COPY requirements.txt . RUN pip install --no-cache-dir \ -i https://pypi.tuna.tsinghua.edu.cn/simple \ -r requirements.txt COPY . . RUN mkdir -p logs EXPOSE 8010 CMD ["bash", "-c", "python tts_flask.py 2>&1 | tee logs/8010.log"]

原因:

  • Python 是主进程(PID1)
  • Python 崩溃,Docker 能检测到
  • docker logs可以查看日志
  • 日志同时保存到logs/8010.log

构建镜像

docker build -t jyd_tts:v1.0 .

导出镜像(用于部署)

docker save -o jyd_tts_v1.0.tar jyd_tts:v1.0

新服务器导入:

docker load -i jyd_tts_v1.0.tar

启动容器(设置自动启动)

docker run -d \ --name jyd_tts_container \ -p 8010:8010 \ --restart always \ jyd_tts:v1.0

如果需要挂载宿主机目录:

docker run -d \ --name jyd_tts_container \ -p 8010:8010 \ --restart always \ -v /opt/jyd01/wangruihua/api_docker/jyd_tts:/opt/jyd01/wangruihua/jyd_tts \ jyd_tts:v1.0

其中:

--restart always

表示:

  • 服务器重启后自动启动
  • Docker 服务重启后自动启动
  • 容器异常退出自动重启

如果容器已经存在

直接修改重启策略即可:

docker update --restart=always jyd_tts_container

查看是否生效:

docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' jyd_tts

应该输出:

always

取消重启测策略:

# 先停掉自动重启,避免一直刷 docker update --restart=no jyd_tts_container # 停止容器 docker stop jyd_tts_container # 查看退出原因和日志 docker logs --tail=200 jyd_tts_container

查看容器状态

docker ps

应该看到

STATUS Up 3 minutes

查看日志

实时查看

docker logs -f jyd_tts_container

或者

cat logs/8010.log

如果你的服务器没有开启 Docker 自启动

还需要执行一次:

sudo systemctl enable docker sudo systemctl start docker

验证:

systemctl status docker

只要 Docker 服务开机启动,并且容器设置了--restart always,那么服务器重启后,tts_flask.py会自动启动,无需额外写systemd服务。这是 Docker 官方推荐的部署方式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 10:30:59

STM32与TS2007FC音频系统设计与优化实践

1. 项目背景与硬件选型解析 在嵌入式音频处理领域,如何选择合适的放大器与微控制器组合往往决定了最终音质表现的上限。TS2007FC作为STMicroelectronics推出的无滤波D类音频放大器,与STM32L073RZ低功耗MCU的搭配,为便携式音频设备提供了专业级…

作者头像 李华
网站建设 2026/7/8 10:30:22

STM32G070RB与TS2007FC的嵌入式音频处理方案

1. 项目概述:当TS2007FC遇上STM32G070RB 在嵌入式音频处理领域,我最近完成了一个令人兴奋的项目组合——将TS2007FC这款高性能D类音频放大器与STM32G070RB微控制器相结合。这个搭配看似简单,实测下来却能释放出远超预期的音频性能。STM32G070…

作者头像 李华
网站建设 2026/7/8 10:29:23

PIC18F24J50与CMT-8540S-SMT实现嵌入式音频方案

1. 项目概述:为DIY项目添加声音反馈的硬件方案在创客项目和嵌入式系统开发中,声音反馈是提升用户体验的关键要素。PIC18F24J50微控制器搭配CMT-8540S-SMT磁感应蜂鸣器的组合,为各类电子项目提供了经济高效的音频解决方案。这套方案特别适合需…

作者头像 李华
网站建设 2026/7/8 10:29:12

2D凸包在机器人空间推理中的精度优势与实战应用

1. 项目概述:为什么机器人在二维空间里“画个圈”能解决大问题?“2D凸包在机器人空间推理中的应用与精度优势”——这个标题乍看像数学课作业,但如果你正在调试一台AGV小车的避障逻辑、写ROS2节点处理激光雷达点云、或者给协作机器人规划工作…

作者头像 李华
网站建设 2026/7/8 10:25:36

A3910与dsPIC33EP电机控制方案设计与实现

1. 认识A3910与dsPIC33EP512MU810这对黄金搭档 在电机控制和嵌入式系统开发领域,A3910电机驱动芯片与dsPIC33EP512MU810数字信号控制器的组合堪称经典。A3910是Allegro MicroSystems推出的一款高性能全桥MOSFET驱动器,专为驱动有刷直流电机或步进电机设计…

作者头像 李华
网站建设 2026/7/8 10:25:37

AutoCAD 2024系统级安装与稳定运行全指南

1. 项目概述:这不是“点下一步”的安装,而是让AutoCAD 2024真正扎根你电脑的系统工程 AutoCAD 2024不是一张光盘插进光驱就能用的旧时代软件。它是一套高度依赖底层系统环境、图形驱动、运行时库和权限模型的工业级设计平台。我从2009年用AutoCAD 2010开…

作者头像 李华