docker-compose: ошибки прав доступа к каталогу при подключении - PullRequest
0 голосов
/ 17 января 2019

Попытка раскрутить стек docker-compose с изображением prometheus (хотя реальный сервис довольно неактуален.

Я создал следующий каталог для сохранения prometheus данных.

$ ls -ald /prometheus_data/
drwxrwxr-x 3 root root 4096 Jan 17 07:24 /prometheus_data/

и настройте службу в docker-compose следующим образом:

prometheus:
    image: prom/prometheus
    volumes:
        - ./prometheus/:/etc/prometheus/
        - /prometheus_data:/prometheus_data:rw
    command:
        - '--config.file=/etc/prometheus/prometheus.yml'
        - '--storage.tsdb.path=/prometheus_data'
        - '--storage.tsdb.retention=4d'
        - '--web.console.libraries=/usr/share/prometheus/console_libraries'
        - '--web.console.templates=/usr/share/prometheus/consoles'
    ports:
        - 9090:9090
    depends_on:
        - cadvisor
    restart: always

Однако служба не работает:

prometheus_1     | level=error ts=2019-01-17T09:35:09.200050622Z caller=main.go:579 err="Opening storage failed open DB in /prometheus_data: open /prometheus_data/146791472: permission denied"
prometheus_1     | level=info ts=2019-01-17T09:35:09.20007784Z caller=main.go:581 msg="See you next time!"

Разве служба не инициирована пользователем root?

Почему он получает вышеуказанные ошибки разрешения?

1 Ответ

0 голосов
/ 17 января 2019

В соответствии с Dockerfile из prometheus USER установлено на nobody.

Так что имеет смысл, что вышеприведенный каталог не доступен сервису.

Таким образом, проблема была решена путем выполнения

chgrp -R nogroup /prometheus_data
...