Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Docker PHP. Нужна помощь (https://javascript.ru/forum/server/85833-docker-php-nuzhna-pomoshh.html)

firep91613 03.04.2024 16:33

Docker PHP. Нужна помощь
 
У кого есть опыт работы с докером, подскажите, что я делаю не так? При обновлении пэхапэ файла и http://localhost:4000 браузер отображает старое содержимое.
Код:

sudo docker pull php

Dockerfile:
FROM php
WORKDIR /learning
COPY . /learning
CMD ["php", "-S", "0.0.0.0:4000"]

sudo docker build -t php_learning .

sudo docker run -p 4000:4000 -v "$(pwd)":/app php_learning

Сделал все согласно книге. Работает только когда заново пересобираю образ. Терминал запускаю из папки где лежит файл index.php.

firep91613 03.04.2024 16:35

Dockerfile лежит в папке с index.php.

Nexus 03.04.2024 17:38

Я вообще нуб в работе с докером, но:
Ваша команда `copy` в Dockerfile копирует содержимое вашей текущей директории в директорию `/learning` вашего контейнера.
Далее вы запускаете сервер php. Он работает с файлами не вашей Файловой Системы, а с ФС контейнера, грубо говоря, поэтому изменения не подтягиваются до пересборки.

Вам нужно создать volume для этого контейнета и ассоциировать директорию вашего проекта с директорией `/learning` вашего контейнера.

upd. затупил, измените вашу последнюю команду (которая запускает собранный контейнер) на это:
Код:

sudo docker run -p 4000:4000 -v "$(pwd)":/learning php_learning

firep91613 03.04.2024 17:50

Nexus,
спасибо. Это я туплю. Не вижу леса за деревьями :thanks:


Часовой пояс GMT +3, время: 01:55.