modelscope-funasr的docker部署怎么实现自启动服务?

modelscope-funasr的docker部署怎么实现自启动服务?每次开机docker启动后还得进容器手动启动?

展开
收起
游客sk74idwwmjqx2 2024-08-05 18:28:27 219 分享 版权
阿里云 AI 助理回答

要实现ModelScope-FunASR的Docker容器在系统启动时自动运行服务,可以通过以下步骤完成配置。以下是详细的实现方法:


1. 确保Docker已设置为开机自启动

在Linux系统中,Docker服务需要设置为开机自启动,以确保系统重启后Docker能够自动运行。

执行以下命令设置Docker开机自启动并检查状态:

sudo systemctl enable docker
sudo systemctl status docker

如果Docker服务已经设置为开机自启动,则无需重复操作。


2. 创建自定义Docker容器启动脚本

为了实现容器内服务的自动启动,可以编写一个启动脚本,用于在容器启动时自动运行ModelScope-FunASR服务。

步骤:

  1. 创建并编辑启动脚本文件:
    sudo vim start-funasr.sh
    
  2. 在脚本中添加以下内容(根据实际需求修改参数):

    #!/bin/bash
    # 启动Docker容器并运行ModelScope-FunASR服务
    sudo docker run -d \
     --name funasr-container \
     -v /path/to/your/model:/models \
     -p 8000:8000 \
     your-docker-image-name \
     /bin/bash -c "cd /models && python3 server.py"
    

    说明: - --name funasr-container:指定容器名称。 - -v /path/to/your/model:/models:将宿主机上的模型路径挂载到容器内的/models目录。 - -p 8000:8000:将容器内的服务端口映射到宿主机。 - your-docker-image-name:替换为实际使用的Docker镜像名称。 - /bin/bash -c "cd /models && python3 server.py":进入模型目录并启动服务。

  3. 保存并退出编辑器(按Esc键,输入:wq)。

  4. 赋予脚本可执行权限:

    sudo chmod +x start-funasr.sh
    

3. 配置Systemd服务实现自启动

通过创建Systemd服务文件,可以在系统启动时自动运行上述脚本。

步骤:

  1. 创建并编辑Systemd服务文件:
    sudo vim /etc/systemd/system/funasr.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=Auto Start FunASR Docker Container
    After=docker.service
    Requires=docker.service
    
    [Service]
    Type=oneshot
    ExecStart=/path/to/start-funasr.sh
    RemainAfterExit=true
    
    [Install]
    WantedBy=multi-user.target
    

    说明: - Description:服务描述信息。 - After=docker.service:确保Docker服务启动后再运行此服务。 - ExecStart:指定启动脚本的路径,请替换为实际路径。 - RemainAfterExit=true:表示服务启动后保持运行状态。

  3. 保存并退出编辑器。

  4. 重新加载Systemd配置并启用服务:

    sudo systemctl daemon-reload
    sudo systemctl enable funasr.service
    
  5. 启动服务并检查状态:

    sudo systemctl start funasr.service
    sudo systemctl status funasr.service
    

4. 验证自启动功能

  1. 重启系统:
    sudo reboot
    
  2. 检查Docker容器是否已启动:
    sudo docker ps
    

    如果容器已成功启动并运行服务,则配置完成。


重要提醒

  • 确保模型路径和镜像名称正确:在启动脚本中,/path/to/your/modelyour-docker-image-name需要替换为实际值。
  • 检查日志排查问题:如果服务未正常启动,可以通过以下命令查看日志:
    sudo journalctl -u funasr.service
    
  • 资源分配:确保宿主机有足够的资源(如CPU、内存)支持容器运行。

通过以上步骤,您可以实现ModelScope-FunASR的Docker容器在系统启动时自动运行服务,无需手动干预。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

热门讨论

热门文章

还有其他疑问?
咨询AI助理