George
а на какой версии ты живешь?
уже на никакой, после того, как работу поменял
George
Ну мне удобно что там есть chown
это лучше в RUN делать... наверное..
Anton
уже на никакой, после того, как работу поменял
а на какой был, не вспомнить уже?
George
на последней )
Алексей
Народ, всем привет. Помнится, как-то давно в этом канале кто-то запостил решение, как в докерфайле можно запускать отдельный степ, не используя кеш. Кто помнит/знает?
George
через ARG и —build-args?
Алексей
через ARG и —build-args?
вроде нет... там прямо инструкция какая-то была, но вроде не арг...
George
docker build —no-cache ? но она не со степа
Алексей
Нашел. Да, все же через арг: https://github.com/moby/moby/issues/1996#issuecomment-185872769
deVMethod
Добрый день. Столкнулся с проблемой запуска cron в контейнере. Образ python 3. 6 alpine. На нем трудится django. Через supervisor запущен gunicorn и должен запускаться cron: crond - f. Gunicorn стартует и работает, cron не отрабатывает задание, хотя в логах supervisor запущен без ошибок. В таске crona питоновский скрипт. При сборке копирую файл с таском в /etc/crontab, выставляю права. Тишина полная. Буду признателен если кто то что то подскажет.
inqfen
/report
Igor
Да
не делай так, не нужно в докере запускать супервзор)
Igor
для этого есть entrypoint
deVMethod
не делай так, не нужно в докере запускать супервзор)
Гуглится достаточно вариантов, где люди запускают в одном контейнере два процесса через supervisor, в том числе похожие и на мой вариант и вроде все работает.
George
ну, по-разному. Нужно четко взвешивать плюсы и минусы такого решения
deVMethod
ну, по-разному. Нужно четко взвешивать плюсы и минусы такого решения
Пока не вижу очевидных минусов, чтобы так не делать в своей ситуации. Чем это навредит?
George
например тем, что докер не будет управлять хелсчеком и перезапуском приложения
George
крон в докере - тоже так себе идея на первый взгляд
George
(тем более, когда у тебя распределенное приложение)
deVMethod
крон в докере - тоже так себе идея на первый взгляд
Чем его заменить? Есть потребность запускать скрипты на питоне по расписанию. Скрипты, к тому же используют переменные из окружения джанго
George
в хостовом кронтабе docker exec -it имя_контейнера команда_внутри
deVMethod
в хостовом кронтабе docker exec -it имя_контейнера команда_внутри
Только переменные из джанги я так не проброшу...
George
наверняка есть способ 🤷‍♂️
George
с кроном - там тоже все не просто, даже внутри контейнера
deVMethod
с кроном - там тоже все не просто, даже внутри контейнера
Раз у людей работает, значит я как то cron запускаю неправильно... Все таки alpine образы довольно специфичные в настройке
Anonymous
подскажите курсы по докеру
Anonymous
Можно на английском.
Ruslan
https://www.katacoda.com/courses/docker
deVMethod
https://jonathas.com/scheduling-tasks-with-cron-on-docker/
George
после засовывание docker-compose в systemd юнит можно не читать
George
не продакшен решение от слова совсем
George
Распространенное заблуждение
ага, лучше засунуть крон в докер и отломать себе возможность получать уведомления о скипнутых или сломанных джобах, ну, ок
Andrey
Я не о кроне, а о супервизоре.
Andrey
Не все процессы умеют под pid 1 нормально работать,в отличие от
deVMethod
Это к разговору о втором процессе в контейнере. Люди задепрекейтили официальный имейдж celery и советуют запускать его вторым процессом из за проблем с зависимостями. О чем я вчера и говорил, но в отношении cron
George
Я не о кроне, а о супервизоре.
У докера ключ --init появился для этих целей, но уверен, что ты в курсе
Andrey
У докера ключ --init появился для этих целей, но уверен, что ты в курсе
В курсе, хотя не уверен, как оно работает под капотом.
Andrey
Я с голыми докер хостами не работаю.
dzmitry
Привет, подскажите как поступить правильно: есть тимсити в докере, со временем агенты забивают дисковое пространство(каждый паблиш выкачивает имеджи прилаги в агент контейнер). Это можно чистить руками зайдя прямо в агент контейнер, можно прибить контейнер и запустить заново, можно написать скрипт по очистке, но возможно есть другой путь в докере?
Romuald
прива, проясните немного. По поводу сетей. Я хочу, чтобы несколько docker контейнеров видели друг друга в своей сети. Получается, нужно на одном из них поднять эту сеть, а остальные подключаться. Или как-то можно сделать, чтобы без порядка запускать?
Дмитрий
Создать нетворк и добавлять туда контейнеры
Ihor 🐈
мож кто знает, как в git'е эскейпать символы в месссэдже к коммиту? сорри за небольшой оффтоп
Ihor 🐈
бэкслэш не работает, а в man не нашёл как-то флага, включающего эскейп символы
Anton
мож кто знает, как в git'е эскейпать символы в месссэдже к коммиту? сорри за небольшой оффтоп
не хочешь вызвать редактор а не делать это из командной строки?
Ihor 🐈
да не хочу!
Ihor 🐈
причём здесь докер? вам в man bash
я ж извинился за оффтоп, у меня просто не было беседы подходящей
Andrey
всё равно в man bash
Andrey
к git это тоже не имеет отношения
Ihor 🐈
аа, понял-понял
Andrey
аа, понял-понял
если скажешь, что именно ты в коммит хочешь запихать, могу подсказать
Anonymous
Парни такой вопрос можно ли прокинуть результат билда из контейнера в папку проекта ? Из билда не в билд а из билда ?
George
а прикинь - какая это дыра в безопасности была бы?
George
поэтому - если нужно что-то подобное, то делаешь некий служебный контейнер со всем окружением, а потом вызываешь его docker run и в явном виде прокидываешь каталоги
Anonymous
Ну у меня получаеться два композа в проекте один будет работать только локально и он запускает докер контейнер двух уровневый который билдит сначала в коде а потом подсовывает вnginx результат билда и я вот думал эту статику выкинуть в папку что бы разраб мог ее менять и смотреть как будет это все выглядить
Andrew
Всем привет! Есть способы эффективно передавать дистрибутив из большого числа докеробразов?
Andrew
Грустно смотреть на 5гиговый архив, с учетом того что это только начало:(
Igor
подскажите как в докере запустить npm и nginx, запускаю в энтрипоинте баш скрипт: npm run server -- --NODE_ENV="production" exec nginx -g 'daemon off;'
Igor
но работает только одно
Igor
или нджинкс или нпм
Igor
никак. супервизор тащи
серьезно?) а без него никак?
George
а как ты хочешь? контейнер - это не про мультисервисы
Igor
понял, буду думать
George
с CUDA?