Evgenii
а ты чем деплоишь ?
Evgenii
если ansible , то запускай сервисы в разных тасках
Stas
а ты чем деплоишь ?
уточни пожалуйста вопрос
Stas
нет, не ансибл
Stas
и скрипт я наковырять могу, но вопрос именно что задача может-ли решиться средствами compose
Evgenii
наврятли
Stas
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?
Yevhen
там жесть, к которой даже близко не хочется подходить
Yevhen
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?
Yevhen
Ты точно хочешь завязаться на кубера?)
Stas
Ты точно хочешь завязаться на кубера?)
просто инфо ради. кубер маячит но очень далеко на горизонте.
Stas
в любом случае, спасибо, комрады =]
Alexander
Доброе утро коллеги. подскажите как вы решаете проблему с сервисными контейнерами. вот мне нужно сделать npm install. Для этого мне надо ставить ноду. И если я правильно понимаю идеологию докера, то в php-fpm ее ставить не особо рекомендуется. т.е. надо поднять отдельный контейнер, куда запихнуть ноду и все плагины к ней и использовать этот контейнер для подключения к проекту зависимостей и сборки статики вебпаком. Но как это сделать то? Ну т.е. контейнер я делаю, но он после запуска сразу отключается и в него не войти.
Alexander
ну я там краем уха слышал что типа чем меньше контейнер, тем лучше. а нода, установленная в контейнер, и не нужная на проде к тому же, вроде как не феншуй.
Образ должен быть самодостаточным
Dmytro 🇺🇦
ну я там краем уха слышал что типа чем меньше контейнер, тем лучше. а нода, установленная в контейнер, и не нужная на проде к тому же, вроде как не феншуй.
Ты можешь использовать два контейнера. Один с образом ноды, который сбилдит твои зависимости. А второй уже с php-fpm.
Alexander
ага
Alexander
вижу статью
Alexander
спасибо, будем почитать
Алексей
2 контейнера 1. нжинкс в который с помощью multi-stage build собираешь ассеты 2. php который только ставит composer зависимости и все
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 🇺🇦
а в конфиге php-fpm не надо этого юзера указывать?
Это и есть конфиг php-fpm. Забыл написать
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
Тебе нужно заменить пользователя в конфиге www.conf. Плюс в образе создать этого пользователя.
спасибо! а то в гугле нигде не нашел, видимо всех устраивает менять владельца каждый раз
John
имхо в случае двух раздельных контейнеров юникс сокеты использовать не надо
Anonymous
А где можно найти готовые докер фаилы
Anonymous
Явно же где то есть для различных целей
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
hub.docker.com github.com
все верно. какой вопрос такой ответ
Anonymous
подскажите ,как правильно написать)
как распаковать фаилы архивы?
Anonymous
да,как распаковать архивы, одним RUN
Anonymous
Второй особенностью инструкции ADD является возможность автоматической распаковки архивов. Например, если аргумент-источник будет распознан как сжатый формат (tar, gzip, bzip2, и т. д.) он будет распакован по адресу приемника в файловую систему контейнера:
Anonymous
https://letsclearitup.com.ua/docker/dockerfile-add-ili-copy.html
Anonymous
RUN unzip *.zip ?
Kirill
Сначала билдишь все это дело в nodejs контейнере, после чего используешь в php-fpm
Maksym
народ, поделитесь плз как логи читаете? вопрос не совсем по докеру, но думаю что тут всем приходится а с докером вопрос более актуальный (стейтлесс все таки) не файлики же открывать тейлом... или таки да?) может есть стандартные тулы/сервисы для этого
Адаптивный Рекомбинатор
graylog, splunk
Maksym
спасибо, наверное начну с ELK, уже где-то слышал это слово, остальные показались сильно ентерпрайз
Sergey
так что подымите шустро:)
Maksym
спс) там на пару дней доки перед этим, похоже хорошо описано
Mentat
спс) там на пару дней доки перед этим, похоже хорошо описано
Ты только сразу там учти, не жадничай с логами. Запихивать вообще все - скончаешься машины хранилки добавлять) Добавляй что реально важно)
Alexander
Доброго времени суток! Направьте меня, пожалуйста, в нужном направлении. Интересуюсь вопросом деплоя. Хочу выработать у себя понимание всего процесса. С чего можно начать? что-то может почитать/посмотреть? Сейчас тренируюсь на flask. Сам Dockerfile написал, всё отлично работает. Как я себе представляю процесс деплоя - как-то оповещать сервер о том, что на master что-то залили, после этого делать git pull master -> перебилдить контейнер и опять запустить. В целом схема примерно такая или я вообще не правильно размышляю?
Адаптивный Рекомбинатор
сервер сам не должен ничего делать
Адаптивный Рекомбинатор
ты не оповещаешь сервер, ты говоришь ему что делать
Адаптивный Рекомбинатор
что, когда, какую версию
Alexander
не понимать( Смотрите, у меня есть гит сервер, есть сервер где приложение крутится. Допустим на гит сервер приходит обновление мастера, какие дальнейшие действия?
Адаптивный Рекомбинатор
должен триггернуться билд, собрать контейнер, протестировать его, положить в репозиторий в случае успеха
Адаптивный Рекомбинатор
потом должен создаться деплой/релиз объект и задеплоить это на дев
Адаптивный Рекомбинатор
На pre-commit?
на мерж ветки
Alexander
А для этого какие то инструменты используют? Я вот натыкался на jenkins - это оно?
Адаптивный Рекомбинатор
да
Адаптивный Рекомбинатор
любой CI
Alexander
Понял, спасибо за помощь
Адаптивный Рекомбинатор
можно, наверно, и без CI
Адаптивный Рекомбинатор
но это не айс
Anonymous
А для этого какие то инструменты используют? Я вот натыкался на jenkins - это оно?
Оно. Только нет смысла в 2018 начинать изучать Jenkins, смотри на другие CI.