0

我有 Node.js 应用程序,它使用 Sequelize ORM 处理 SQLite DB 和 umzug 库进行迁移。应用程序使用 Docker 进行容器化。

当我像这样运行容器时:

docker run -v /home/user/data:/app/data image:tag

一切正常,但是当我想使用命名卷时:

docker volume create appdata
docker run -v appdata:/app/data image:tag

我收到此错误:

DatabaseError [SequelizeDatabaseError]: SQLITE_ERROR: duplicate column name: isPublic

这是我的 Dockerfile:

FROM node:14-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

# Install client dependencies
RUN mkdir -p ./public ./data \
    && cd client \
    && npm install \
    && npm rebuild node-sass

# Build 
RUN npm run build \
    && mv ./client/build/* ./public

# Clean up src files
RUN rm -rf src/ ./client \
    && npm prune --production

EXPOSE 5000

ENV NODE_ENV=production

CMD ["node", "build/server.js"]

任何想法可能是什么原因?也许有权限的东西?

4

0 回答 0