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
posted @ 2025-12-21 13:41  云婷  阅读(2)  评论(0)    收藏  举报