Том создается, он просто не создается в контексте выполнения, в котором находится файл docker-compose.yml. Я предполагаю, что вы запускаете команду ls -lah
и ожидаете, что что-то будет создано в каталоге, где находится ваш файл docker-compose.yml.Вот почему вы говорите: «НО этого не происходит»
Команда VOLUME в Dockerfile ограничена.Хост неизвестен, когда вы создаете образ из Dockerfile.До тех пор, пока docker run
не будет выполнен с использованием вашего встроенного образа, хост Docker известен.
Итак, при использовании команды VOLUME в Dockerfile и последующем использовании docker run
с этим образом том создается в месте, настроенном установкой Docker.Чтобы подтвердить, что том действительно был создан для вашего контейнера, используйте эту команду:
docker inspect -f '{{.Mounts}}' [container_name]
Чтобы лучше контролировать и указать гдеваш VOLUME создается на вашем хосте Docker, вам нужно использовать опцию -v
с docker run
или настроить в файле docker-compose.yml, как это делается для вашего постоянного контейнера MySQL.
Youможете удалить VOLUME /var/www/html
из вашего Dockerfile, и вам следует.Потому что ваше FROM
wordpress изображение создает ОБЪЕМ, как вы уже знаете.