Anonymous
А разрабы они же часто - поднялось значит работает. И будут править конфиг внутри контейнера
Anonymous
Чего я избежать хочу
Bohdan
какие-то странные разрабы, если честно у тебя один прод сервак?
Sergey
ты главное разрабов на прод конфиги не пускай ну их нафих
Bohdan
у меня так есть docker-compose, файлов несколько - просто docker-compose.yml, docker-compose.server.yml, docker-compose.prod/qa.yml
Sergey
стейдж выдели пусть приводят в порядок - тесты пройдут недельку и пускай
Bohdan
и через энв переменную определяется, где что запускать
Anonymous
Ну в обще я пока только продумываю логику. Хочу на первом этапе докер композом поднимать нужное окружение для приложения и само приложение. Писать в вопрос выше не стал ибо не существенно.
Anonymous
Конфиг хранить на хосте. А не в контейнере. Потом отдать это разрабам. Не нравиться, что появляется человеческий фактор. Прочтёт ли он доку - что надо конфиг положить в правильное место или нет
Anonymous
Просто в теории разрабы могут взять мой докер композ файл и поднять это хоть на своё ноуте
Anonymous
Если им приспичит
Sun
Идея контейнеров в том что они неизменны. Поэтому снаружи контейнеров только данные а конфиг всегда внутри. Если надо изменить конфиг, то собирается новый образ
Sun
И это правильно. В идеале ещё и версию контейнера бампать с каждым изменением
Anonymous
Вот про данные понимаю. Про конфигурирование никогда не считал что они не изменяемые. Подумаю об этом на досуге
Sun
Чтобы на проде можно было ставить прямое указание на версию для деплоя
Anonymous
Но условно конфиг для прода и дева может отличаться
Anonymous
И очень существенно
Sun
Используй какой-нибудь Ansible, чтобы рулить конфиги и сборки.
Sun
Дев — это дев. А ещё есть стейджинг и прод. Так вот стейджинг должен быть один в один как прод, только на версию впереди.
Sun
По идее, дев тебя вообще не волнует — там разработчики делают что хотят.
Sun
А в прод попадает только то что прошло все тесты в стейджинге
Anonymous
Ансибл то понятно. Ладно на счёт конфигов подумаю как правильно. Мысль что они в контейнеры не изменяемые - мне нова.
Anonymous
Так что спасибо за наводку
Sun
Велкам.
Andrey
Всем привет. Вот у меня есть такой кусок в RUN && mkdir -p /var/jenkins_home/.m2 \ && chown -R 1000.1000 /var/jenkins_home/.m2 \ && ls -la /var/jenkins_home/но почему-то когда я запускаю контейнер, владелец директории у меня root :( что я не знаю?
Sun
мм, а сепаратор юзер/группы разве бывает точкой?
Sun
да. точно, это было давно.
Andrey
да. точно, это было давно.
При билде, я вижу что пользователь назначен верно в логах. Но при старте права уже другие.
Sun
что такое 1000? неймспейс в контейнере и в хосте разные.
Sun
причём, мне помнится, что назначать из контейнера права на артефакты даже по верному гуиду с хоста — не айс идея.
Sun
Я сейчас ссылку не вспомню, но идея была простая: при смене версии контейнера у тебя может смениться гуид контейнерного юзера и всё пойдёт по влажному.
Andrey
что такое 1000? неймспейс в контейнере и в хосте разные.
это пользователь jenkins, я его id поставил, уже как эксперимент.
Sergey
services: minio1: image: minio/minio:RELEASE.2018-06-09T03-43-35Z volumes: - data1:/data ports: - "9001:9000" environment: MINIO_ACCESS_KEY: minio MINIO_SECRET_KEY: minio123 # command: server http://minio1/data http://minio2/data http://minio3/data http://minio4/data command: server http://minio1/data volumes: data1: driver: host driver_opts: source: /home/sat/minio-test/volumes/data1 Ребят как правильно ссылки на тома описывать? Дока в подробности не сильна
Sergey
я объявил проброс томов для сервиса и хочу в конце композа указать где том лежит
Дмитрий
Привет всем
Дмитрий
почему он не может с 2 параметрами запуститься?
Дмитрий
подскажите что не так docker run -d --net=host --name=mtproto-proxy --restart=always \ -v proxy-config:/data -e SECRET=secret TAG=tag \ telegrammessenger/proxy:latest
Sergey
ошибка то какая
Дмитрий
ошибка то какая
docker: Error parsing reference: "TAG=tag" is not a valid repository/tag: invalid reference format. See 'docker run --help'.
Дмитрий
тэг заменил, шоб не палить
Sergey
может тег не разрешен тут?
Sergey
вы же тег образа указали уже
Дмитрий
может тег не разрешен тут?
разрешен, просто там 2 команды, одна на запуск с тэгом, вторая на запуск с секретом docker run -d --net=host --name=mtproto-proxy --restart=always \ -v proxy-config:/data -e TAG=85174e9e0ffa43c0d3a7167e52175268 \ telegrammessenger/proxy:latest и docker run -d --net=host --name=mtproto-proxy --restart=always \ -v proxy-config:/data -e SECRET=b7e70329dcf3721c4239b86ad32a90b8 \ telegrammessenger/proxy
Дмитрий
я решил объединить, но он ругается
Sergey
а без latest дает два указать?
Sergey
различие чисто в этом
Дмитрий
а без latest дает два указать?
нет, такая же ошибка
Sergey
а в issues на гитхабе че
Sergey
хотя это ошибка докера а не образа
Bohdan
ммм, а разве когда много энв переменных - не нужно указывать -e на каждую?
Bohdan
типа -e SECRET=secret -e TAG=tag
Дмитрий
типа -e SECRET=secret -e TAG=tag
Спасибо огромное
Дмитрий
-e SECRET=xxx -e TAG=xxx
Спасибо огромное
Danila
Не встречали удобного docker образа с django, чтобы сразу можно было указать тип базы данных, хост и прочие данные через переменные среды (-е) ?
Danila
нет, ищи композ в гитхабе
Так данные для подключения к БД джанге надо руками указывать
Sergey
а в композе в чем проблема
Sergey
тот же докер только без наркомании в три строки CLI
Sergey
ты кубер-манифесты тоже в cli будешь на образ расписывать для деплоя?)
Sergey
команду на 100 строк
Danila
а в композе в чем проблема
Я через композ могу указать в django данные для подключения к БД?
Sergey
ты можешь там хоть 10 образов указать с тонной командных выражений, сетей, томов
Danila
Композ удобен,я его использую. Но мне нужен образ django, где я могу прописать db credentials
Danila
Вот и все
Sergey
commands: - пишешь и все
Sergey
собирай свой и указывай что хочешь
Sergey
а че все джангу-докер-базу то юзают) че не gradle/sbt туда засунуть)
Sergey
шобы поинтереснее
I
Привет всем, расскажите плиз кто как подписывает docker images? Какие бест практики?
Grigorii
у меня, наверное, нубский вопрос, я не силен в сетях. есть сервер A(gitlab), я могу до него достучаться с сервера Б, но из контейнера на сервере Б уже не могу, при этом в инет ходит нормально. тисипидамп на хосте показывает, что запросы из контейнера уходят, но хост как будто не знает в какой контейнер ответ засылать. вроде как с натом связано, но непонятно как пофиксить
Sergey
а контейнер с адреса хоста выходит или свой имеет?
Grigorii
а ты по имени с контейнера стучишься?
я из контейнера хочу репу склонировать из сервака с гитлабом, он доспун просто по ip
Grigorii
да
Sergey
а network:host выставить тоже нет?
Danila
commands: - пишешь и все
Как мне в конфиг джанги командой записать пароль от БД?
Sergey
Как мне в конфиг джанги командой записать пароль от БД?
я же сказал, универсал образов нет пилите свой билд джанги и указывайте ей че хотите