Это действительно невозможно. Если вы не определите тома
в docker-compose контейнер ничего не может записать в файловую систему хоста.
Докажите, что с
> docker проверяет контейнер apache2-php | jq .[].Mounts
> docker проверяет контейнер apache2-php | jq .[].Volumes
Вы также можете доказать это, создав файл в папке журнала вашего зловещего хоста и попробовав найти его в контейнере (вы не упомянули, где эта папка находится или должна находиться в вашем контейнере. Примечание: даже если контейнер будет писать файлы на хост, он также будет доступен из контейнера по какому-то пути, конечно, потому что его нужно где-то смонтировать)
Я даже воспроизвел вашу иерархию и убедился, что папки не созданы.
примеры > сборка docker-compose
Сборка apache2-php
Отправка контекста сборки демону Docker 3,584 КБ
...
Успешно помечен apache2-php-image:latest
образцы > docker-compose up -d
Создание сети «samples_default» с драйвером по умолчанию
Создание apache2-php-контейнера... сделано
> дерево
.
образцы
âââ докер
âââ apache2
âââ Dockerfile
âââ сайты доступны
âââ mysite.conf
âââ docker-compose.yaml
4 каталога, 3 файла
Журналирование даже идет на вывод журналов докеров:
> curl -I http://localhost:8082/bla
HTTP/1.1 404 не найден
Сервер: Apache/2.4.10 (Debian)
apache2-php-контейнер | 172.21.0.1 - - [17/ноября/2021:12:34:16 +0000] "HEAD /bla HTTP/1.1" 404 140 "-" "curl/7.69.1"
Возможно, у вас есть какой-то кеш, попавший туда.
попробуй почистить систему(система докеров обрезать -a -f
(осторожно!)) или проверьте его на другой нетронутой системе.
совет: docker-compose build --no-cache