Проблема такого же типа, чем: , что вызывает заполнение тома docker?
Я пытаюсь поделиться файлом конфигурации apache в / etc / apache2 с Мой хост и файл не генерируются автоматически в общей папке.
Как минимальный пример:
Dockerfile
FROM debian:9
RUN apt update
#Install apache
RUN apt install -y apache2 apache2-dev
ENTRYPOINT ["apache2ctl", "-D", "FOREGROUND"]
docker -compose.yml
version: '2.2'
services:
apache:
container_name: apache-server
volumes:
- ./log/:/var/log/apache2
- ./config:/etc/apache2/ #remove it will let log generating files
image: httpd-perso2
build: .
ports:
- "80:80"
При такой конфигурации ни ./config
, ни ./log
не будут заполнены файлами / папками, сгенерированными контейнером, даже если файлы журналов должны иметь некоторые ошибка (получение apache-server | The Apache error log may have more information.
)
Если я удалю том ./config
, файлы журнала apache будут сгенерированы правильно. Любая подсказка, по какой причине это может добавить? Как я могу поделиться apache файлом конфигурации?
Имея ту же проблему с файлом настроек django, похоже, что он связан с файлом конфигурации, сгенерированным приложением.
Что я пробовал:
- использование VOLUME
в Dockerfile
- запуск docker-compose
как root или chmod 777 для папок
- создание файла в контейнере для этих каталогов, чтобы увидеть, созданы ли они на хосте (и они сделали)
- На хосте, создание общей папки, созданной пользователем (выбирается root, если они автоматически генерируются)
- Попытка с docker run
, с точно такой же проблемой.
Для спецификации:
- Docker версия 19.03.5
- с использованием VPS с debian buster
- docker - составить версию 1.25.3
Спасибо за помощь.