Aleksey
короче этот ваш рокет это даунлоад менеджер. так получается ?
Dmi3y
Ну и обёртка же
Dmi3y
Я вот не знаю, как руками правильно запустить процесс так, чтобы он и в отдельной сети был, и изолирован, и что там ещё
Dmi3y
А так -- rkt run и работает
Dmi3y
Кстати, @lorddaedra, а как принято доставлять приложения в случае с rkt при использовании непрерывного развёртывания?
Dmi3y
С докером я запускал команду "скачай из локального реестра со свежим тегом" и оно работало
Alexander
https://quay.io/
Alexander
но в отличие от докерхаба тут нет приватных бесплатных репозиториев
Alexander
поэтому можно и свою сделать с помощью того же nginx
Dmi3y
нененен
Dmi3y
у меня в качестве приватного реестра стоял gitlab, раз уж он всё равно был
Dmi3y
Вопрос в том, как доставлять изменения с rkt
Dmi3y
Насколько я понял, основной способ -- подписанные targz
Dmi3y
То есть задача сводится либо к выкладке их на локальный сервер, либо к пропихиванию силами CI на сервера?
Dmi3y
Криво написал: 1) положить на шару и сказать "тащите оттуда файлы" или 2) положить файлы напрямую на сервера приложений
Alexander
короче этот ваш рокет это даунлоад менеджер. так получается ?
ну, под капотом для запуска контейнеров он делает так: host OS └─ rkt └─ systemd-nspawn └─ systemd └─ chroot └─ user-app1
Dmi3y
В случае того же докера второй вариант с экспортом образа в файлик и пропихиванием его на сервера не слишком распространён
Dmi3y
nsenter
забавная штука этот nsenter
Alexander
А есть такая же визуализация, но с lkvm stage1?
да host OS └─ rkt └─ lkvm └─ kernel └─ systemd └─ chroot └─ user-app1
Dmi3y
А как делается такая обёртка для текста в телеграме?
Alexander
` три раза до и после
Dmi3y
Телеграм умеет markdown, или это отдельная функция?
Alexander
думаю, что не умеет (но кастомизированные клиенты могут уметь, если процессят это на клиенте)
Alexander
про процесс сборки и CI, тут всё по аналогии с докером
Alexander
сначала мы билдим образ , потом отправляем его в хранилище, потом оно расползается оттуда на серверы
Dmi3y
Надеялся, что есть какая-то особая магия специально для rkt
Alexander
билдить не обязательно самим
Dmi3y
Хотя штатная работа с URL вполне подходит под это определение, я думаю
Alexander
quay умеет билдить если что-то нужно
Alexander
то есть CI может отправлять запрос за билдинг в quay, а потом качать и тестировать оттуда
Alexander
ну, конечно, можно и самим билдить
Alexander
можно с нуля через https://github.com/appc/acbuild
Alexander
можно конвертировать Docker-образы
Alexander
к слову, я разобрался с перенаправления
Alexander
вот так это делается —port=80-tcp:8888
Alexander
разница с докером в том, что тут в первом случае указывается не порт, а название
Alexander
при конвертации оно берёт тот порт, который указан там в докерфайле (в родительском, возможно) и для наименования добавляет к этому порту -tcp
Alexander
можно попробовать запустить без этого всего, потом сделать rkt cat-manifest 3dea550e и там посмотреть, как называются порты
Alexander
а вот если в манифесте их бы не было - пришлось бы патчить его
Aleksey
пилите шура пилите. гдавное не малый бизнес ито хорошо.
Alexander
я это делаю ради фана, поэтому "считалку денег" сейчас выключил
Alexander
но если прагматично на всё это смотреть - я верю в светлое будущее Rkt, но он ещё сыроват, чтобы рекомендовать его всем и каждому
Alexander
кстати, в рассуждениях выше про файловую систему я немного ошибся
Alexander
On modern Linux systems, rkt now uses overlayfs by default when running application containers. This provides immense benefits to performance and efficiency: start times for large containers will be much faster, and multiple pods using the same images will consume less disk space and can share page cache entries. If overlayfs is not supported on the host operating system, rkt gracefully degrades back to the previous behaviour of extracting each image at runtime - this behaviour can also be triggered with the new —no-overlay flag to rkt run.
Alexander
то есть если у системы есть поддержка overlayfs - будет использована она, если нет или явно запрещено - не будет
Alexander
похоже, докер можно удалять 😊
Alexander
сделал себе Rkt, вроде работает всё
Alexander
https://dpaste.de/eBW1
Alexander
из интересного - Rkt не будет ругаться, если вы на том же самом порту запустите второй контейнер
Alexander
он запустит оба, но работать (слушать и отвечать на том порту) будет только тот, который был запущен последним
Dmi3y
А почему в данном случае запускается конвертацией из докера силами rkt, а не тулзой или прямой сборкой?
Alexander
просто я использую докерхаб для хранения образов, а он не умеет хранить в Rkt -формате
Alexander
это первая причина
Alexander
вторая причина - у меня OS X и там докер работает лучше (более нативно), а для Rkt нужна виртуалка через Vagrant
Alexander
то есть через IDE мне удобнее подключаться к докеру
Alexander
сборку на CI , наверное, да, можно было бы сделать через acbuild в Rkt-формате
Alexander
но тогда вместо докерхаба надо что-то придумать
Alexander
вообще, мнение такое, что вот у программистов докер никто так и не победит, он всегда там будет главным
Alexander
тут прямо упор на домохозяек
Alexander
а с Rkt там сложновато местами
Alexander
по крайней мере пока
Dmi3y
Так никто же и не заставляет использовать докеробразы от команды разработки
Alexander
ну да, тогда их нужно самому делать, там был где-то скрипт
Aleksey
Aleksey
так что обречен...
Alexander
образ тот же самый
Alexander
вся эта конертация - она на лету
Aleksey
но образ уже _другой_
Aleksey
конвертация будет косячить
Aleksey
а значит изспользовать - опасно.
Alexander
файлы те же самые
Aleksey
и юзать будут такие вот маргиналы, которым религия не позвояет пользовать маинстрим :)
Alexander
почему он должен глючить?
Aleksey
потому что не глючит только ломик.
Aleksey
но он портится и ржавеет.
Alexander
ну, это как бы на разных уровнях работает, вот у тебя есть программа, она не глючит, она записана на диске, где файловая система fat32, потом ты это конвертировал в ntfs, программа та же самая, она так же не глючит
Alexander
конвертация ведь ничего не добавляет туда , что могло бы помешать работе сервиса