Я использую образ докера в качестве среды dev
для конкретной версии PHP. Я использую PHP для сценария командной строки, поэтому каждый раз, когда я вношу изменения в сценарий, я хотел бы, чтобы он автоматически вносил изменения в контейнер.
Я не уверен, возможно ли это вообще. Я так и думал. Я в основном использую docker-compose
, и я могу легко добавить VOLUMES
для этого, но не в этом случае с помощью докера.
Мой Dockerfile:
FROM php:7.2-cli
COPY ./app /usr/src/app/
WORKDIR /usr/src/app
ENTRYPOINT [ "php" ]
CMD [ "./index.php" ]
Я сначала запускаю:
docker build -t app .
А потом
docker run app
Все работает хорошо. Но если я что-то поменяю в index.php
, мне придется повторить шаги снова. Это ожидаемое поведение или есть ли способ заставить докеры следить за изменениями?
docker run -v /home/user/location:/usr/src/app app
Используйте том, чтобы файлы в контейнере отражали локальные изменения.
https://docs.docker.com/storage/volumes/#choose-the--v-or---mount-flag
Нет, Dockerfiles по сути не может ссылаться на какие-либо определенные ресурсы хоста или требовать их.
Пришлось удалить как принято, так как это не сработало. Если я внесу какие-либо изменения в index.php
, мне все равно придется перестроить.
Есть ли способ определить объем в файле докеров?