разобрался, что кубер применяет кучу лишних переменных окружения в контейнер, и перезатирает мои переменные. пример. 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 выкрутился, спасибо
правильный ключик
Обсуждают сегодня