разобрался, что кубер применяет кучу лишних переменных окружения в контейнер, и перезатирает мои переменные. пример. workdir у меня стоит корневая папка с приложением на laravel. у приложения есть .env файл, в котором есть такие параметры:
DB_CONNECTION=pgsql
DB_HOST=db
DB_PORT=5432
DB_DATABASE=auth
DB_USERNAME=postgres
DB_PASSWORD=CJuWZtasdasdeadRFGSDFfSFN56zadsgwsdsf
и все работает. но если я запускаю приложение в кубере, то кубер записывает кучу мусора в переменные окружения, например, такое
root@auth-5f58d676cb-49d5d:/var/www/app# printenv | grep DB
KEYDB_SERVICE_HOST=10.254.63.160
DB_PORT_5432_TCP_ADDR=10.254.6.161
KEYDB_PORT_6379_TCP=tcp://10.254.63.160:6379
DB_PORT=tcp://10.254.6.161:5432
KEYDB_PORT=tcp://10.254.63.160:6379
DB_SERVICE_PORT=5432
DB_SERVICE_HOST=10.254.6.161
DB_PORT_5432_TCP=tcp://10.254.6.161:5432
KEYDB_PORT_6379_TCP_ADDR=10.254.63.160
KEYDB_SERVICE_PORT=6379
KEYDB_PORT_6379_TCP_PROTO=tcp
DB_PORT_5432_TCP_PROTO=tcp
DB_PORT_5432_TCP_PORT=5432
KEYDB_PORT_6379_TCP_PORT=6379
которые переопределяют мои переменные. вопрос.
1) как запретить куберу генерить такие переменные
2) почему он это делает? потому что в WORKDIR у него есть .env?
ну и огромный вопрос к ларке, какого хрена она использует глобальные переменные, если у нее есть проектные...
если переопределить в манифесте переменные, то начинает работать... но это костыли какие-то
зачем вы тут задаете вопросы по пэхапэ?
это не мусор Можно отключить это - enableServiceLinks: false
> у него есть .env? хоспади, для тех кто придумал .env файлы есть отдельный котел в аду. Естественно кубу пофиг на ваши .env файлы
larabel гавно, и там все плохо с 12 фактор. Страдайте. Вопросы к тем, кто к вам laravel затащил, а не в чат куба
Покажи Dockerfile
FROM harbor.*/backend:0.7 WORKDIR /var/www/app COPY --chown=dev ./ /var/www/app RUN ln -s $PWD/docker-entrypoint.sh /usr/local/bin/ RUN chmod +x docker-entrypoint.sh ENTRYPOINT ["docker-entrypoint.sh"] нечего смотреть
Ну как это нечего смотреть у тебя никакого env тут и не пахнет, поэтому сорсинг .env делай в рантайме ентрипоинта
Используйте DATABASE_URL env, либо дописывайте config для управления множеством бд.
я ключиком enableServiceLinks: false выкрутился, спасибо
правильный ключик
Обсуждают сегодня