SenseVoice-语音ASR服务docker镜像构建
代码示例gitcode地址
https://gitcode.com/yunting/CangjieCjoyWebSocketDemo.git
Dockerfile
FROM python-3.11-openeuler-25:1.0.0
# 设置工作目录
WORKDIR /app
# 复制应用程序文件
COPY . /app
# 安装Python依赖
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 设置环境变量
ENV SENSEVOICE_DEVICE=cpu
ENV MODEL_DIR=/models/iic/SenseVoiceSmall
# 暴露端口
EXPOSE 50000
# 启动应用程序
# 创建启动脚本
RUN echo '#!/bin/bash' > /runme.sh && \
echo 'echo "Starting sensevoice ..."' >> /runme.sh && \
echo 'echo "=== 环境信息 ==="' >> /runme.sh && \
echo 'echo "Python版本:"' >> /runme.sh && \
echo 'python3 --version' >> /runme.sh && \
echo 'echo "=== 启动应用 ==="' >> /runme.sh && \
echo 'exec uvicorn api:app --host 0.0.0.0 --port 50000' >> /runme.sh && \
chmod +x /runme.sh
## 显示启动脚本内容(用于调试)
#RUN cat /runme.sh
#
## 执行运行脚本
ENTRYPOINT ["/bin/bash", "/runme.sh"]
docker镜像
# 下载项目
git clone https://gitee.com/howardji/SenseVoice
# 进入项目目录
cd SenseVoice
#修改apy.py
model_dir = os.getenv("MODEL_DIR")
#将Dockerfile复制项目根目录
copy docs/docker/asr/ASR服务和模型权重独立镜像部署/ASR服务镜像/Dockerfile
# 构建镜像
docker build -t sensevoice-simple:1.0.0 .
# 启动
# 1. 先创建卷(若已存在会复用)
docker volume create model-data
# 2. 启动模型容器,只干复制活就退出
docker run --rm \
-v model-data:/shared \
sensevoice-model:1.0.0 \
cp -r /models/iic /shared
# 3. 启动服务容器
docker run -d --rm \
-v model-data:/models:ro \
-p 50000:50000 \
-e MODEL_DIR=/models/iic/SenseVoiceSmall \
--name sensevoice \
sensevoice-simple:1.0.0
构建基础镜像
docker build -t sensevoice-simple:1.0.0 .
查看构建的镜像
docker images | grep sensevoice-simple:1.0.0
进入容器验证环境
docker run -it sensevoice-simple:1.0.0 /bin/bash
上传镜像
# 登录 测试账号 ting567 登录了,这步可省略
docker login -u ting567
# 打标签
docker tag sensevoice-simple:1.0.0 ting567/sensevoice-simple:1.0.0
# 推送
docker push ting567/sensevoice-simple:1.0.0

浙公网安备 33010602011771号