Evgenii
а ты чем деплоишь ?
Evgenii
если ansible , то запускай сервисы в разных тасках
Stas
нет, не ансибл
Stas
и скрипт я наковырять могу, но вопрос именно что задача может-ли решиться средствами compose
Evgenii
наврятли
Yevhen
Stas
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?
Yevhen
там жесть, к которой даже близко не хочется подходить
Yevhen
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?
Yevhen
Ты точно хочешь завязаться на кубера?)
Stas
в любом случае, спасибо, комрады =]
Alexander
Доброе утро коллеги. подскажите как вы решаете проблему с сервисными контейнерами.
вот мне нужно сделать npm install. Для этого мне надо ставить ноду. И если я правильно понимаю идеологию докера, то в php-fpm ее ставить не особо рекомендуется. т.е. надо поднять отдельный контейнер, куда запихнуть ноду и все плагины к ней и использовать этот контейнер для подключения к проекту зависимостей и сборки статики вебпаком. Но как это сделать то? Ну т.е. контейнер я делаю, но он после запуска сразу отключается и в него не войти.
ㅤ
Alexander
ну я там краем уха слышал что типа чем меньше контейнер, тем лучше. а нода, установленная в контейнер, и не нужная на проде к тому же, вроде как не феншуй.
ㅤ
ㅤ
Образ должен быть самодостаточным
Dmytro 🇺🇦
Алексей
Alexander
Alexander
ага
Alexander
вижу статью
Alexander
спасибо, будем почитать
Алексей
2 контейнера
1. нжинкс в который с помощью multi-stage build собираешь ассеты
2. php который только ставит composer зависимости и все
Dmytro 🇺🇦
Это первый вариант. То что в ссылке скинули.
Dmytro 🇺🇦
Dmytro 🇺🇦
Это если брать docker-compose.
Алексей
Алексей
зачем третий?
Dmytro 🇺🇦
зачем третий?
Для того, чтобы композер не хранит в основном образе
who are you
Народ если есть у кого решение или ссылка как сделать чтобы пхп на нгинксе работал под нужным юзером а не под www-data поделитесь как сделать
Dmytro 🇺🇦
У тебя два контейнера? nginx & php-fpm
who are you
Да
Dmytro 🇺🇦
Тебе нужно заменить пользователя в конфиге www.conf. Плюс в образе создать этого пользователя.
who are you
а в конфиге php-fpm не надо этого юзера указывать?
Dmytro 🇺🇦
who are you
вроде решил
добавил в докерфайл при сборке пхп
RUN groupadd konstantin
RUN useradd -ms /bin/bash konstantin -g konstantin
потом расшарил в композе файл
./php/www.conf:/usr/local/etc/php-fpm.d/www.conf
и в нем уже указал каким юзером запускать пхп
user = konstantin
group = konstantin
who are you
John
John
имхо в случае двух раздельных контейнеров юникс сокеты использовать не надо
Anonymous
А где можно найти готовые докер фаилы
Anonymous
Явно же где то есть для различных целей
Sergey
Anonymous
подскажите ,как правильно написать)
Anonymous
RUN unzip \
ngx_devel_kit.zip \
nginx-http-rdns-master.zip \
set-misc-nginx-module.zip \
sdch_module.zip \
ngx_brotli.zip
Anonymous
Anonymous
да,как распаковать архивы, одним RUN
Anonymous
Второй особенностью инструкции ADD является возможность автоматической распаковки архивов. Например, если аргумент-источник будет распознан как сжатый формат (tar, gzip, bzip2, и т. д.) он будет распакован по адресу приемника в файловую систему контейнера:
Anonymous
https://letsclearitup.com.ua/docker/dockerfile-add-ili-copy.html
Anonymous
RUN unzip *.zip ?
Anonymous
Kirill
Kirill
Сначала билдишь все это дело в nodejs контейнере, после чего используешь в php-fpm
Maksym
народ, поделитесь плз как логи читаете? вопрос не совсем по докеру, но думаю что тут всем приходится а с докером вопрос более актуальный (стейтлесс все таки)
не файлики же открывать тейлом... или таки да?)
может есть стандартные тулы/сервисы для этого
Адаптивный Рекомбинатор
graylog, splunk
Sergey
Maksym
спасибо, наверное начну с ELK, уже где-то слышал это слово, остальные показались сильно ентерпрайз
Sergey
Sergey
так что подымите шустро:)
Maksym
спс) там на пару дней доки перед этим, похоже хорошо описано
Alexander
Доброго времени суток! Направьте меня, пожалуйста, в нужном направлении. Интересуюсь вопросом деплоя. Хочу выработать у себя понимание всего процесса. С чего можно начать? что-то может почитать/посмотреть?
Сейчас тренируюсь на flask. Сам Dockerfile написал, всё отлично работает. Как я себе представляю процесс деплоя - как-то оповещать сервер о том, что на master что-то залили, после этого делать git pull master -> перебилдить контейнер и опять запустить. В целом схема примерно такая или я вообще не правильно размышляю?
Адаптивный Рекомбинатор
сервер сам не должен ничего делать
Адаптивный Рекомбинатор
ты не оповещаешь сервер, ты говоришь ему что делать
Адаптивный Рекомбинатор
что, когда, какую версию
Alexander
не понимать( Смотрите, у меня есть гит сервер, есть сервер где приложение крутится. Допустим на гит сервер приходит обновление мастера, какие дальнейшие действия?
Адаптивный Рекомбинатор
должен триггернуться билд, собрать контейнер, протестировать его, положить в репозиторий в случае успеха
Alexander
Адаптивный Рекомбинатор
потом должен создаться деплой/релиз объект и задеплоить это на дев
Alexander
А для этого какие то инструменты используют? Я вот натыкался на jenkins - это оно?
Адаптивный Рекомбинатор
да
Адаптивный Рекомбинатор
любой CI
Alexander
Понял, спасибо за помощь
Адаптивный Рекомбинатор
можно, наверно, и без CI
Адаптивный Рекомбинатор
но это не айс
Anonymous
Адаптивный Рекомбинатор