Есть файл docker-compose.yml
version: '2.4'
services:
filebeat:
image: docker.elastic.co/beats/filebeat:7.7.0
container_name: filebeat
restart: always
entrypoint: bash -c 'export PATH=$PATH:/usr/share/filebeat && /usr/local/bin/docker-entrypoint -e'
environment:
LOGSTASH_HOST: "logstash:9600"
volumes:
- '/home/elkf_adm/files/test.log:/logs_to_parse/test.log'
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '/var/lib/docker/containers:/var/lib/docker/containers:ro'
- '/home/elkf_adm/configs/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro'
ports:
- '5044:5044'
networks:
- elk
volumes:
elastic_data: {}
networks:
elk:
Его надо запускать от имени elkf_adm (uid=1002, gid=1002)
Когда пытаюсь запустить от этого пользователя, то выводится
Exiting: error loading config file: config file ("filebeat.yml") must be owned by the user identifier (uid=1000) or root, поскольку на хосте изменил владельца и группу с vagrant (uid=1000) на elkf_adm
Видел, что можно добавить
user: "1002:1002". Временно удалил лишнее и запускаю файл:
version: '2.4'
services:
filebeat:
image: docker.elastic.co/beats/filebeat:7.7.0
container_name: filebeat
restart: always
user: "1002:1002"
В результате выводится ошибка "filebeat | /usr/local/bin/docker-entrypoint: line 8: exec: filebeat: not found"
Как только я удаляю user: "1002:1002"
docker-compose.yml
version: '2.4'
services:
filebeat:
image: docker.elastic.co/beats/filebeat:7.7.0
container_name: filebeat
restart: always
То все запускается
Но если подключить вольюмы, то опять будет требовать смены владельца
Как более правильно решить эту проблему?