170 похожих чатов

Привет всем Подскажите, пожалуйста, годных материалов по упаковке приложения в докер

контейнер

В частности интересует вопрос кэширования конфига (config:cache)
Если кэшировать на этапе сборки, то лара перестаёт подхватывать переменные среды, на сколько я понял
Есть ли какое-то "правильное" решение?

15 ответов

11 просмотров
Костя- Автор вопроса

Вопрос как пробросить в контейнер настройки коннектов к бд и т.д. во время деплоя на разные машины? Пока, кроме как запускать кэширование во время деплоя, на ум ничего не приходит

при deploy вы же запускаете composer install --no-dev так в composer.json добавьте чтоб @php artisan optimize, например на событие "post-autoload-dump"

Костя- Автор вопроса

При деплое поднимется только Php-fpm Никаких композеров там нет

Egor Gruzdev
при deploy вы же запускаете composer install --no-...

кстати, как вариант "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }

Костя- Автор вопроса
Egor Gruzdev
а код как выгружаете?

Образ собирается со всеми пакетами и кодом проекта, дальше в докер сварм выливается Раньше

Костя- Автор вопроса
Ратмир Диронин
ларка и без композера? сочувствую

Нет, просто композер в конечный образ не включается, только вендор директория

Костя
Вопрос как пробросить в контейнер настройки коннек...

Рассмотрите docker secrets - https://docs.docker.com/engine/swarm/secrets/

Костя- Автор вопроса

Да, про это уже прочитано) Проблема заключается в том, что после кэширования конфига ларавел перестаёт cчитать переменные из окружения И получается, что кэширование надо запускать на ноде в момент деплоя/первого запуска, а не во время сборки образа

Костя- Автор вопроса

Если запустить config:cache, то ларавел начнёт считывать настройки только из bootstrap/cache/config.php И не обращает внимание на .env/переменные окружения Соответственно, если мы деплоим готовый образ на разные ноды с разными настройками, единственный вариант это заново кэшировать их в том окружении Просто опыта с упаковывание лары в докер нет, решил поинтересоваться есть ли какие решения

Костя
Если запустить config:cache, то ларавел начнёт счи...

Once the configuration has been cached, the .env file will not be loaded; therefore, the env function will only return external, system level environment variables.

А в какой момент запускается config:cache ? На ентрипоинте или при билде?

Костя- Автор вопроса
Max Grom
А в какой момент запускается config:cache ? На ент...

Запускали при билде Когда увидели, что окружение не подтягивается, убрали

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Карта сайта