Могу ли я запустить/преобразовать проект Docker-Compose с/в CoreOS rkt?

Могу ли я использовать CoreOS rkt или другой связанный инструмент для запуска моего проекта Docker-Compose?

И/или есть способ преобразовать проект Docker-Compose во что-то похожее, для CoreOS и rkt?

Мой проект Docker-Compose отлично работает на локальном хосте и на рабочих серверах. Но я думаю, что модель безопасности CoreOS и rkt мне нравится больше — тогда мне не пришлось бы запускать контейнеры, по сути, с привилегиями root на моей машине разработки (правильно?).

Кажется, здесь есть документы о том, как запустить один контейнер Docker с помощью rkt: https://coreos.com/rkt/docs/latest/running-docker-images.html — но мне нужна функциональность, подобная Docker-Compose, а не только один контейнер.

(В настоящее время я использую дистрибутив Linux на основе Ubuntu.)


person KajMagnus    schedule 27.07.2016    source источник
comment
Я также заинтересован в этом. Кажется, есть github.com/jfusterm/compose2fleet, который у меня не было времени попробовать. В качестве альтернативы вы можете настроить что-то вроде Kubernetes, но мне это кажется излишним.   -  person StackExchange saddens dancek    schedule 17.09.2016
comment
@dancek compose2fleet звучит интересно, возможно, это то, на что я надеюсь. — И мне пока тоже некогда его тестировать :- P но позже   -  person KajMagnus    schedule 17.09.2016
comment
Вот способ преобразования приложения Docker Compose в манифесты Kubernetes: blog.kubernetes.io/2016/11/. Kubernetes может запускать CoreOS + rkt. Однако добавление Kubernetes кажется немного сложным.   -  person KajMagnus    schedule 27.11.2016


Ответы (1)


rkt-compose — это облегченная альтернатива kubernetes и compose2fleet. rkt-compose поддерживает подмножество синтаксиса файла docker-compose и запускает все службы файла docker-compose в одном модуле в обернутом rkt процесс без зависимостей от других инструментов, кроме rkt и docker (для сборки). Для поддержки обнаружения служб и проверки работоспособности можно опционально включить интеграцию Consul.

Я протестировал текущую версию rkt-compose v0.1.0. успешно против нескольких моих старых проектов docker-compose.

Раскрытие информации: я разработал rkt-compose, играя с rkt и изучая golang.

Аннотация безопасности. Как и в случае с docker, контейнеры rkt также должны запускаться от имени пользователя root. Запуск контейнеров от имени непривилегированного пользователя не поддерживается. В настоящее время я исследую runc: он также поставляется с CoreOS и в своем текущем основном состоянии позволяет вам по-настоящему запускать container как непривилегированный пользователь с некоторыми обходными путями и ограничениями, но вы по-прежнему не можете запускать файлы docker-compose непосредственно на нем.

person mxg    schedule 08.06.2017
comment
Хорошо, это выглядит интересно. (Я не буду отмечать его как принятый ответ на данный момент, потому что, похоже, он еще не задокументирован и все еще находится в стадии разработки, верно.) Хм, я не совсем понял: он использует docker-compose.yml напрямую или конвертирует этот файл в файл конфигурации Kubernetes и вместо этого использовать файл Kubernetes? а потом можно было бы отредактировать файл Kubernetes? (оба подхода хороши с моей точки зрения) - person KajMagnus; 09.06.2017
comment
Обновлен мой ответ: он запускает файлы docker-compose.yml напрямую и не зависит от Kubernetes. Наконец-то я задокументировал проект и создал релиз. Обратная связь приветствуется. - person mxg; 11.06.2017