我不知道为什么目录是由influxdb用户创建的。这是在Ubuntu 18.04上
Dockerfile:
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 8700
CMD [ "npm", "start" ]
#VOLUME /data/db /data/configdb
docker-compose.yml
version: "3"
services:
api:
container_name: puump-api
restart: always
build: .
env_file: .env
ports:
- "8700:3000"
links:
- mongo
volumes:
- .:/app
networks:
- puump-network
mongo:
container_name: puump-mongo
image: mongo:latest
volumes:
- ./mongo-data:/data/db
ports:
- "28017:27017"
networks:
- puump-network
networks:
puump-network:
driver: bridge
drwxr-xr-x 4 influxdb root 4096 Sep 21 08:13 mongo-data
答案 0 :(得分:0)
mongo-data
是主机目录,因此您会在主机端看到目录权限,因此,除非Docker有权访问该目录,否则主机目录与哪个用户无关。
所以主机用户可能是root或influx。
要验证正确的权限,您需要在mongo容器中检查,并且该容器应归mongodb
用户所有。
docker exec -it puump-mongo bash -c "ls -ltrah /data/"
因此,如果图片是官方图片,/data/db
应该归mongodb
用户所有。