Каталог данных mongodb, принадлежащий influenxdb: root при докеризации mongodb - PullRequest
0 голосов
/ 21 сентября 2019

Понятия не имею, почему каталог создается пользователем Infliff.Это на 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 голосов
/ 21 сентября 2019

mongo-data - это каталог хоста, поэтому вы видите разрешение на каталог со стороны хоста, поэтому не имеет значения, какой пользователь каталог хоста, если только у docker нет доступа для связывания каталога.

Так что это может бытьв случае, если пользователь хоста - root или infl.

Чтобы проверить правильность разрешения, необходимо проверить содержимое контейнера mongo, и оно должно принадлежать mongodb user.

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

Так что /data/db должен принадлежать пользователю mongodb, если изображение является официальным.

...