我有 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"]
任何想法可能是什么原因?也许有权限的东西?