RUN apt-get update \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini\
&& echo "127.0.0.1 test" >> /etc/hosts \
Если я вас правильно понял, вы желаете локально поднять контейнер, в нём некий web сервис и на этом-же компьютере осуществлять "вход"?
Тогда строчку "127.0.0.1 test" вам необходимо добавлять в ваш локальный host а не тот что в контейнере ибо резолвинг имени в адрес, происходит у вас локально.
docker run ... --add-host="test"
docker run -it --add-host test:127.0.0.1 ubuntu cat /etc/hosts
1) руками в hosts-файл на вашей хост-машине добавить строчку 127.0.0.1 test. Так вы решите вопрос с именем хоста (test вместо IP 127.0.0.1)
2) при старте контейнера с веб-сервером биндить порт веб-сервера из контейнера с 80-м портом вашей хост-машины (с помощью параметра --publish): что-то типа docker run --publish 80:8080 ... - здесь как бы написано: "связать внутренний порт контейнера 8080 с внешним портом хост-машины 80" (в вашем случае вроде как оба порта будут 80, и внутренний, и внешний)
version: '3'
services:
web:
build: ./web
environment:
- XDEBUG_CONFIG="remote_host=172.17.0.1 remote_enable=1"
- PHP_IDE_CONFIG="serverName=Docker"
- APACHE_RUN_USER=www-data
extra_hosts:
- "zend_web:127.0.0.1"
volumes:
- ${APP_PATH_HOST}:${APP_PATH_CONTAINER}
- ${APP_XDEBUG_LOCAL}:${APP_XDEBUG_PROD}
ports:
- 8080:80
working_dir: ${APP_PATH_CONTAINER}
. Если вы делаете это уже для продакшна - то всё, что вы описали в вопросе - не то, не так и не в ту сторону
version: '3'
services:
web:
build: ./web
environment:
- XDEBUG_CONFIG="remote_host=ip remote_enable=1"
- PHP_IDE_CONFIG="serverName=Docker"
- APACHE_RUN_USER=www-data
volumes:
- ${APP_PATH_HOST}:${APP_PATH_CONTAINER}
- ${APP_XDEBUG_LOCAL}:${APP_XDEBUG_PROD}
ports:
- 8080:80
working_dir: ${APP_PATH_CONTAINER}
extra_hosts:
- "test:127.0.0.1"
Не очень понятно зачем это нужно?
RUN
echo "127.0.0.1 test" >> /etc/hosts \
&& a2enmod rewrite
Лучше пропишите на машинах откуда заходите на вебсервер в hosts желаемое имя.
На проде тоже так же будете выполнять? Тот же пример с object все порушит*
./vendor/bin/doctrine-module orm:schema-tool:create
./vendor/bin/doctrine-module orm:schema-tool:update
./vendor/bin/doctrine-module migrations:generate
-заполняем класс миграции вручную..../vendor/bin/doctrine-module migrations:migrate
-мигрируем в ту же бд- обычно ошибка, что в бд таблицы существуют../vendor/bin/doctrine-module orm:schema-tool:create
./vendor/bin/doctrine-module orm:schema-tool:update
./vendor/bin/doctrine-module migrations:migrate
./vendor/bin/doctrine-module orm:schema-tool:create
./vendor/bin/doctrine-module migrations:migrate
- то пишут , что таблицы уже существуют..../vendor/bin/doctrine-module orm:schema-tool:update
./vendor/bin/doctrine-module orm:schema-tool:create
-создаются таблицы./vendor/bin/doctrine-module migrations:migrate
- то пишут , что таблицы уже существуют..../vendor/bin/doctrine-module orm:schema-tool:update
, если сущность поменяю. 3. Создать две миграции, а потом создать ORM на базе текущей структуры.
Миграции - это последовательность модифицирующих запросов к базе.
а относительно фреймфорка, уточните, пож-ста:
1.Или, например, Блог и Альбомы можно считать двумя разными приложениями на одном сайте?
2.Или нет такого неограниченного кол-ва приложении на фреймфорке?
from php:7.3.4-apache
- нормальный образ. ( взят из докерфайла)/Подскажите, пожалуйста.