Alexander
у докера есть свой формат образов, а есть ACI формат
Alexander
на сервере всё запускается через Rkt, которому нужен ACI
Alexander
я ищу способ конвертирования из 1 формата в другой не при запуске сервисов, а раньше
Alexander
прямо при загрузке образов на сервер
Alexander
оригинальный формат образов докера мне не нужен, собственно, докер я тоже планирую удалить с сервера, но в формате докера удобнее всего билдить пока
Alexander
так что у программистов именно докер и закачивают они тоже в формате докера
Anonymous
Может тогда проще при билде образа создавать два образа и пушить их в регистри?
Alexander
они билдят на локальной машине и чтобы билдить докер - им нужно иметь эти утилиты типа acbuild, которые будут требовать виртуалбокса
Alexander
это менее удобно, чем Docker for Mac
Alexander
но в будущем, да, планируется вообще отказаться от докера и всё билдить в ACI изначально, когда появятся более удобные утилиты для программистов
Alexander
но пока Docker удобнее там
Anonymous
ну тогда пускай билдят образ внутри образа докера, где есть все нужные утилиты.
Alexander
хмм, интересная идея
Alexander
похожа на смерть Кощея
Alexander
😊
Anonymous
Я бы проще поднял CI, где сделал бы джобу, которая из гита тянет нужные файлы и билдит нужный образ и закачивает в регистри.
Alexander
ну да, это правильный способ для более крупных проектов
Alexander
чтобы билд был не у разработчика, а прямо на сервере
Kalys
ну тогда пускай билдят образ внутри образа докера, где есть все нужные утилиты.
Дженкинс внутри докера собирает образы. Ничего сложного.
Alexander
понял, да, выглядит более клёвым вариантом
Roman
все пользуются
Roman
удобно
Alexander
в общем, разработчик просто запускает build.sh, там все команды , я туда добавлю и команду на конвертацию докер-образа в aci через другой (мой) докер-контейнер, заранее заготовленный для этих целей
Roman
билд на CI, для сборки используется образ докера с набором тоо чего нужно для сборки
Roman
лучше билдить на CI
Alexander
минус в CI тут в том, что лень ради каждого мелкого проектика (условно, лэндинг) ставить CI и настраивать
Alexander
а в случае с build.sh, его легко скопипастить
Alexander
(у меня это скрипт, где всякие docker build и прочие команды)
Roman
build.sh тоже норм
Roman
но билдить при помощи одного общего контейнера
Roman
*у нас например разные версии го - разный выхлоп (порой не компилится), поэтому даже в локале билдим контейнером с предустановленным го
Roman
sudo docker run --rm -v pwd:pwd -w pwd iron/go go build
Alexander
у меня сейчас это как-то так выглядит https://dpaste.de/v7Yy
Alexander
вот вместо docker push (последние 3 строчки) там будет вызов докер-контейнера с конвертацией из докер-образов в ACI, а потом загрузка этих трёх .aci на сервер
Alex
поспал, называется сраный докер обезумел и устроил kernel panic
Alex
dirperm1 breaks the protection by the permission bits on the lower branch
Alex
Alexander
а поясните наличие строчки TimeoutStartSec=0 в .service-файле для запуска контейнера
Alexander
в примерах с докером я её там вижу, в примерах с Rkt нет
Alexander
как лучше?
Alexander
Configures the time to wait for start-up. If a daemon service does not signal start-up completion within the configured time, the service will be considered failed and will be shut down again. Takes a unit-less value in seconds, or a time span value such as "5min 20s". Pass "infinity" to disable the timeout logic. Defaults to DefaultTimeoutStartSec= from the manager configuration file, except when Type=oneshot is used, in which case the timeout is disabled by default (see systemd-system.conf(5)).
Alex
dirperm1 breaks the protection by the permission bits on the lower branch
Кто-нибудь сталкивался с таким?
Alex
>Our current guess is that it is caused by the bug fixed in kernel 4.4.6 by this commit >https://lkml.org/lkml/2016/1/31/82 >But we have not yet managed to test with 4.4.6.
Maxim
Расскажите а кто как бэкапит подключенные volume к контейнерам?
Alexander
а какой драйвер у volume и что в нем?
Maxim
Обычный локальный. Да не важно что, допустим Бд в одном контейнере и куча файлов в другом. Хотелось бы нажать кнопочку и сохранить их состояние как снапшот в ВМ и отправить на какой-нибудь сервер где будут храниться быкапы, чтобы в случае чего этот бэкап можно было всегда развернуть
Alexander
driver local такого не умеет, есть другие, которые могут делать снапшоты
Alexander
БД лучше бэкапить через стандартные инструменты бэкапа
Artem
бэкапить лучше через те инструменты, которые потом позволят восстановить данные с минимальными затратами и максимальным % результата, а не с восстановлением всей "матрешечной" инфраструктуры ради самого восстановления
Maxim
driver local такого не умеет, есть другие, которые могут делать снапшоты
Мне не обязательно снапшот делать. Подойдет просто весь volume запаковать в tar и закинуть на другой хост
ko4
после этого стикера проверил в том ли я чате..)
Denis
Антон Турецкий из Badoo написал классную статью по использованию MACVLAN в новом Docker'е. http://amp.gs/8u3d
Sergey
@ableev, привет!
Sergey
=)
Alexander
Тут в ветке Javascript Jobs разработчики мерились github аккаунтами, у кого звездочек больше, кто контрибутил куда. Я подумал что же нам админам и devops мериться hub.docker.com аккаунтами?
Alexander
У кого какие есть интересные имиджи?
Aleksei
У меня имидж алкоголика.
Stanislav
У меня имидж гопника нулевых ;)
Lupsik Pupsik
посоны, а есть ли где-нибудь гайды как юзать один и тот же образ для девелопмента и прода?
Lupsik Pupsik
есть вообще гайды как правильно докер готовить?
Stanislav
Мы Jenkins'ом Хуярим в Nexus
Lupsik Pupsik
ну так получается докер без CI/CD очень плохо вписывается?
Stanislav
Нет ну ты можешь готовые имиджи ждать ;)
Alexander
да готовых куча, только выбирай
Lupsik Pupsik
мне не нужен образ, мне нужен механизм простого деплоя ruby + nodejs + redis + pg + nginx
Denis
Посмотри concourse.ci :)
Denis
Такие дела http://thenewstack.io/docker-fork-talk-split-now-table/
Vlad
а без CI?
Ansible или chef-zero
Mikhail
Привет, скажите использует ли кто докер для обновления сертификатов letsencrypt, если да подскажите решение
Anonymous
https://ivan.bessarabov.ru/blog/first-attemt-to-use-letsencrypt вот же все есть)
Mikhail
спасибо Алекс, действительно все просто
Mikhail
надо только запустить docker run -it --rm -p 443:443 -p 80:80 --name certbot \ -v "/etc/letsencrypt:/etc/letsencrypt" \ -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \ quay.io/letsencrypt/letsencrypt:latest certonly
Alexander
Вопрос по swarm и сервисам. Немного не догоняю идеологию. У меня есть группа конейнеров в обвязке через docker-compose, как их теперь запускать на кластере swarm? Создавать под каждый контейнер сервис, но мне не нужно их реплецировать. Вот если представить, что один сервис и есть группа контейнеров, то тут все понятно, но как я понял это нельзя сделать.
Rinat
сварм нужен чтобы сразу на 100 нодах поднять контейнер или группу контейнеров
Rinat
при том можно поднять контейнеры например на нодах у которых регион us