Sequelize db:migrate 命令在 docker 中不起作用,出现错误

Sequelize db:migrate command not working in docker getting error

我在 运行ning npx sequelize db:migrate

时出现以下错误
Sequelize CLI [Node: 16.14.0, CLI: 6.4.1, ORM: 6.12.5]
node_api         |
node_api         | 
node_api         | 
node_api         | ERROR: Cannot find "/app/src/config/database.js". Have you run "sequelize init"?

Docker节点应用文件

FROM node:16.14.0-alpine

ENV WORK_DIR    /app

WORKDIR $WORK_DIR

COPY . .

RUN npm install && npm cache clean --force

EXPOSE 8080
#CMD [ "npm", "run", "dev" ]

在 Docker 中的节点 api 容器下方添加 - 编写如下文件:

api:
    container_name: node_api
    build: 
      context: ../node-app/
      dockerfile: Dockerfile.dev
    ports:
    - 8080:8080
    depends_on:
        - postgres
    restart: on-failure
    volumes:
      - ../node-app/:/app/src
    command: sh -c "cd src && npx sequelize db:migrate --config config/database.js && npm run dev"
    environment:
      # Port
      PORT: 8080

      # Debug
      LOG_LEVEL: debug

      DB_USERNAME: postgres
      DB_PASSWORD: root
      DB_NAME: mydb
      DB_HOSTNAME: postgres_db
      DB_PORT: 5432
      NODE_ENV: development

我在 src 文件夹中保存了 .sequelizerc 文件,内容如下。

const path = require('path');

module.exports = {
  'config': path.resolve('config', 'database.js'),
  'models-path': path.resolve('db', 'models'),
  'seeders-path': path.resolve('db', 'seeders'),
  'migrations-path': path.resolve('db', 'migrations')
};

当我运行 sequelize node-app 中的 src 目录时,它工作正常并且迁移发生了。但是当我从 docker 运行 它找不到仅保存在 src 文件夹中的 .sequelizerc 文件时。为了避免混淆,我给了 database.js sequelize 命令的路径,但我仍然收到找不到文件的错误。

这是我面临的奇怪问题。我猜测sequelize、nodejs和cli的版本存在一些问题。

让我知道任何人都可以帮助我找出我的错误。 提前致谢。

问题出在卷装载上。

    volumes:
      - ../node-app/:/app/src