提问者:小点点

docker-compose卷开始表现怪异,切换分支后没有文件权限


我们已经使用docker-compose一年了,我们没有遇到任何问题。在过去的一周中,我们每个人都开始遇到一个与权限有关的奇怪错误

位于internal/main/run_main_module.js:17:47:错误:eperm:操作不允许,打开

只有我换树枝的时候才会发生

组成结构:

version: "2.4"

# template:
x-base: &base-service-template
  env_file:
    - ./.env
  working_dir: /app/
  volumes:
    - ./src:/app/src:cached

services:

  service1:
    image: service1
    <<: *base-service-template

  service2:
    image: service2
    <<: *base-service-template

我们都在做OSX。我们尝试在文件系统上授予docker权限,但仍然不起作用。

但有些东西是有效的。正在重新启动后台进程。但我不想在每次切换分支时重新启动守护进程

其他信息:

每个服务的docker文件库如下所示

FROM node:12-alpine as builder

ENV TZ=Europe/London
RUN npm i npm@latest -g
RUN mkdir /app && chown node:node /app
WORKDIR /app

RUN apk add --no-cache python3 make g++ tini \
    && apk add --update tzdata

USER node
COPY package*.json ./
RUN npm install --no-optional && npm cache clean --force
ENV PATH /app/node_modules/.bin:$PATH
COPY . .

FROM builder as dev
USER node
CMD ["nodemon", "src/services/service/service.js"]

FROM builder as prod
USER node
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["node", "src/services/service/service.js"]

我在dev层运行,这样我们就可以利用nodemon代码重新加载。

docker版本:docker版本19.03.13,build 4484C46D9D

docker-compose版本:docker-compose版本1.27.4,版本40524192


共1个答案

匿名用户

所以在尝试了一些奇怪的东西之后,答案很简单。

完成此操作后:

记住重新启动运行compose的shell。