Docker при монтировании перетирает каталог с библиотеками vendor
Есть проблема с тем, что docker перетирает не существующий каталог в контейнере вместо того чтобы примонтировать его на хост
В базовом образе я скачиваю composer и устанавливаю PHP-библиотеки, с этим всё в порядке. Но как только пытаюсь выполнить монтирование "./:/var/www", то в контейнере сразу стирается каталог с библиотеками "vendor", потому что его изначально нет на хосте.
Можно ли настроить монтирование таким образом, что если на хосте нет каталога или файла, то он бы создавался из контейнера?
Конфиг docker-compose.yml
version: "3.9"
services:
php:
image: php:latest #local image PHP
container_name: php
volumes:
- ./:/var/www
networks:
- internal
restart: "unless-stopped"
networks:
internal:
driver: bridge
Ответы (1 шт):
нет нельзя.
конфиг как раз для того, что бы указывать что должно монтироваться, а что нет.
Поэтому монтируйте проект в контейнер, и выполняйте в нём команды composer install и т.п именно внутри контейнера. Отдельно в образе вы можете ставить дополнения для самого PHP (gd, pdo_mysql и т.п.)