rmshell
Что делает директива USER в композе и в докфайле? Назначает только от кого будут все процессы в контейнере?
Denis
Что делает директива USER в композе и в докфайле? Назначает только от кого будут все процессы в контейнере?
Вроде того. Ваш процесс, который запускается через entrypoint или cmd будет запускатся от этого пользователя, который указан в USER.
Denis
@rmshell Когда делаете docker-compose -up -d выдает какие-то ошибки? Или после старта всех сервисов в логах их видите? Упустил этот момент
rmshell
@rmshell Когда делаете docker-compose -up -d выдает какие-то ошибки? Или после старта всех сервисов в логах их видите? Упустил этот момент
На на макоси всё нормально работает, без нареканий. А вот на линуксе с траблом я уже столкнулся, когда иницилизировал приложуху то созданий директории все стали из под рута, там уже глянул и директрия бд на хосте под рутом
rmshell
но привсём при этом ошибок на линксе при билде нету и все контенеры тихо и спокойно Up
rmshell
Мой хост: drwx------ 19 vboxadd root 4,0K ноя 23 19:01 pgdata Контейнер: drwx------ 19 postgres root 4096 ноя 23 19:01 data
George
Айдишники юзеров смотри
George
Вангую, что постгрес в контейнере это какой-нибудь 999, а на хосте он vboxadd
rmshell
На макоси, повторюсь, там другой тип проброса каталога
Думаю что это не должно быть краеугольном камнем
George
увы совпали uid
Ну, да. И что - это вызывает панику ?
rmshell
Ну, это важно
У меня когда был макс мне дали два проекта они были завернуты в докер, проблем с запуском не было, потом я слил эту адскую машину и перешел на минт, опять взяв те же проекты я только сбилдил контейнеры и продолжил работать
rmshell
Ну, да. И что - это вызывает панику ?
то что директория на хосте не читает и не пишется не исполняется
rmshell
на хосте у меня юид 1000, в контейнере 999
George
Либо вообще выкинь volumes, а используй bind mount (расширенный синтаксис)
rmshell
не ужто нельза замапить?
George
не ужто нельза замапить?
Нормально, чтобы не создать ещё проблем - нет, нельзя
rmshell
хм, создать юзера в контенере, добавить его группу 999 и тогда он будет сопоставлен 1000 к 1000
Denis
На на макоси всё нормально работает, без нареканий. А вот на линуксе с траблом я уже столкнулся, когда иницилизировал приложуху то созданий директории все стали из под рута, там уже глянул и директрия бд на хосте под рутом
Зайдите в контейнер и посмотрите по каким пользователем запущен postgres. Потом посмотрите его id в контейнере по типу id postgres. После этого выйдите из контейнера и сделайте chown 999:999 ./docker/db/pgdata
Denis
999 это просто пример
Denis
на хосте у меня юид 1000, в контейнере 999
а ну тогда думаю chown 999:999 ./docker/db/pgdata нужно попробовать
Radik
777)
Denis
777)
Не учи людей плохому)
rmshell
RUN usermod -u ${UID} postgres && groupmod -g ${GID} postgres И там уже uid хостового юзера )
rmshell
да
rmshell
меняем id юзера и его группы на id юзера на хосте
rmshell
вот только у меня теперь локаль en_EN.utf8 всегда =\ в контейнере вместо ru_RU.utf8
Radik
ну ты же уже заново имадж собираешь, не? а до этого казалось, что ты имеющийся хочешь заставить заработать на другом хосте
rmshell
😤
rmshell
смысл о текщуего? распостронять как потом, что бы просто up и усе)
Radik
ну я дурак неверно понял
rmshell
Не устаю поражатся, к оф образу на хабе пишут, установки локали для бд сделайте так: RUN localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8 ENV LANG ru_RU.utf8 На выхлопе: The database cluster will be initialized with locale "en_US.utf8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english". 😭😑
rmshell
Эджайл, дивопс, говножоры и говноделы
Смешно, если args: - LANG=${LANG} То всёравно если же через environment то норм =\
rmshell
🤬
George
🤬
Ты теперь понимаешь, почему докИр не для продакшИна?
George
В смвсле - допилить можно. Но нужно ли ?
rmshell
Неа :) корпорации лгут что они все в докер пихают, а пункт докер в вакансии чтобы просто было?)
George
Неа :) корпорации лгут что они все в докер пихают, а пункт докер в вакансии чтобы просто было?)
Ну, надо же имидж поддерживать. Что мы молодые, на хайпе, пьем смузи
George
😂
rmshell
В смвсле - допилить можно. Но нужно ли ?
Тонкости деплоя на прод я пока не ошутил и не осознал. Пока на гитлабе tar && scp && ssh tar -ef -C Кароче заказал книгу по докеру, а то слишком много вопрос, но так мало ответ ^_^
Denis
Тонкости деплоя на прод я пока не ошутил и не осознал. Пока на гитлабе tar && scp && ssh tar -ef -C Кароче заказал книгу по докеру, а то слишком много вопрос, но так мало ответ ^_^
Я бы не советов в докере круть БД) Лично сам перекладываю этот функционал на клауд провайдера, собенно когда дело касается postges) Вроде как анальной боли не ощущал от этого пока что)
rmshell
Тут говрят бд не крути в контейнекре, в другом чате говорят, не крути пых в контейнере, блет, что крутить в контейнере?
rmshell
и это не прод
rmshell
и и не стейдж, а девелоперский хост)
rmshell
Запускайте в контейнерах просто код вашего приложения)
наверное туда и сам яп нужно запихать?)
Denis
наверное туда и сам яп нужно запихать?)
Есть сервис, в котором реалузуется какой-то функционал. Вы пишете код для реализации этого функционала и запускаете его. Где запускать его вы решаете сами. ЯП? Ну наверное пишите вы код этот на каком-то ЯП?)
Denis
Тут говрят бд не крути в контейнекре, в другом чате говорят, не крути пых в контейнере, блет, что крутить в контейнере?
php-fpm запускают нормально в докерах, только на мой взгял его нужно правильно уметь готовить
Denis
на каком-то пишу)
Ну вот, докер контейнер, это собственно среда, в которой работает ваш код
Egor
у меня заббикс в кубе =) и еще мониторить соседний куб=))) с продом
Egor
так что дело в том на что ты гаразд =)
George
Тут говрят бд не крути в контейнекре, в другом чате говорят, не крути пых в контейнере, блет, что крутить в контейнере?
Идеально - вообще уйти от всего этого. Для чего докер хорош - локальная разработка. Там он вне конкуренции, но это под вопросом - не нужно сбрасывать вагрант со счетов
George
И переходи на голанг и новомодные япы. Пхп пришел из тех времён, когда царили монолиты. Сейчас все уже стараются писать под cloud native среду. А для этого код приложения должен быть нормальный изначально.
George
Не совсем понимаю. Ты имеешь в виду вообще уходить от технологий контейнеризации?
Нет. Пускай будет некий тулинг, разраб пишет приложение и у него не болит голова
George
От докера, как видишь, голова болит регулярно. То с правами на файлы, то с чем еще
rmshell
пых ещё вполне себе жив и вполне себе решеает поставленые перед ним задачи. а как же все эти безшовные деплои и тд, они через контейнеры?
Denis
От докера, как видишь, голова болит регулярно. То с правами на файлы, то с чем еще
Понял тебя. У меня была идея написать тулинг, который генирирует для разработчика Dockerfile, docker-compose и т.д.
rmshell
аналогично с тем когда юзер вкатывается в линукс то первым делом с правами голова у него болит
Denis
аналогично с тем когда юзер вкатывается в линукс то первым делом с правами голова у него болит
У меня конечно не сильно большой опыт прямо, но сколько работаю, такой проблемы не было за 2 года не у одного разработчика)
Denis
У нас их 130
rmshell
Я о том когда прям вот ток ток вкатывается, есть конечно уникальные, которые сразу создают топик вместо гугла или доки без попыток разобратся
George
пых ещё вполне себе жив и вполне себе решеает поставленые перед ним задачи. а как же все эти безшовные деплои и тд, они через контейнеры?
Ну, у тебя приложение автомагически даже будучи обернуто в докер не сможет в бесшовность. Это понятно, надеюсь ?
George
А бесшовность можно и без докера сделать, если надо очень
rmshell
да, этого пока не проходил ещё)
rmshell
Рсинком в прод :)
неа) не прокатит