标签 docker 下的文章

我使用的是 docker-compose 来部署环境,其他方式的 docker 部署都是一样的

先准备一个目录

mysql-init-demo/
├── docker-compose.yml   # Docker Compose 配置文件
└── init/                  # 存放初始化脚本的文件夹
    └── init.sql         # 我们的 SQL 初始化脚本

在 init.sql 写上你需要导入的 sql 内容,记得没有库你需要创建先

-- 创建数据库
CREATE DATABASE IF NOT EXISTS `xxxx` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 使用数据库
USE `xxxx`;

-- 在下面的都是你自己的 sql 内容

在 docker-compose.yml 中关于 mysql 内容块中加入下面的内容

services:
  # ----------------------------------------------------------------
  # MYSQL
  # ----------------------------------------------------------------
  mysql-init-sql:
    container_name: mysql-init-sql
    volumes:
      - ./init-sql:/docker-entrypoint-initdb.d
... 其他的都是你自己的文件内容

这下面的内容需要看

  • 初始化脚本只在数据库第一次创建时执行。如果你想重新执行初始化,必须彻底删除容器和它关联的数据卷。(如果已经有其他数据库了记得备份啊)
  • 如果 /docker-entrypoint-initdb.d 目录下有多个文件,它们会按 字母顺序 执行。你可以使用 01-schema.sql, 02-data.sql 这样的命名方式来控制执行顺序。
  • 除了 .sql 文件,你还可以放入 .sh 脚本文件。例如,你可以用 shell 脚本来执行 mysql 命令导入一个大的数据文件,或者做一些更复杂的逻辑判断。

  1. 创建 docker-compose.yml 文件
services:
  whisper-asr:
    image: onerahmet/openai-whisper-asr-webservice:latest
    environment:
      ASR_MODEL: turbo # (tiny, base, small, medium, large-v3, etc.
      ASR_ENGINE: faster_whisper # openai_whisper, faster_whisper, whisperx
      ASR_DEVICE: cpu # or cuda 我是cpu服务器所以只能选 cpu
      ASR_MODEL_PATH: /data/whisper 
      HF_ENDPOINT: https://hf-mirror.com # 使用 HF_ENDPOINT 作为国内镜像
    volumes:
      - ./data/whisper:/data/whisper
    ports:
      - 29000:9000 # 前面的 29000 可以修改,访问的时候记得调整端口即可
  1. 启动
# docker-compose up -d 

访问 ip:29000 即可看到 swagger 接口文档

[1] docker hub地址 https://hub.docker.com/r/onerahmet/openai-whisper-asr-webservice

[2] hf-mirror.com 致力于帮助国内AI开发者快速、稳定的下载模型、数据集