dockerizing mongodb时,influxdb:root拥有的mongodb数据目录

时间:2019-09-21 15:26:08

标签: mongodb docker docker-compose

我不知道为什么目录是由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

1 个答案:

答案 0 :(得分:0)

mongo-data是主机目录,因此您会在主机端看到目录权限,因此,除非Docker有权访问该目录,否则主机目录与哪个用户无关。

所以主机用户可能是root或influx。

要验证正确的权限,您需要在mongo容器中检查,并且该容器应归mongodb用户所有。

docker exec -it puump-mongo bash -c "ls -ltrah /data/"

因此,如果图片是官方图片,/data/db应该归mongodb用户所有。