我可以使用CoreOS rkt
或一些相关工具来运行我的Docker Compose项目吗?
和/或是否有某种方法可以将Docker Compose项目转换为类似的项目,例如CoreOS和rkt
?
我的Docker Compose项目在本地主机和生产服务器上运行良好。但我认为我更喜欢CoreOS和rkt的安全模型——这样我就不必在我的开发机器上使用root权限运行容器了(对吧?)。
以下是关于如何使用rkt
运行单个Docker容器的文档:https://coreos.com/rkt/docs/latest/running-docker-images.html——但我想要Docker Compose式的功能,而不仅仅是一个容器。
(我目前使用的是基于Ubuntu的Linux发行版。)
rkt-compose是kubernetes和compose2fleet的轻量级替代品。rkt-compose支持docker compose文件语法的一个子集,并在封装的rkt进程中的单个pod中运行docker composed文件的所有服务,而不依赖于除rkt和docker之外的其他工具(用于构建)。为了支持服务发现和运行状况检查,可以选择启用Consul集成。
我已经针对我的几个旧docker compose项目成功地测试了当前的rkt compose v0.1.0版本。
披露:我在玩rkt和学习golang的同时开发了rkt作曲。
安全注释:docker rkt容器中的As也必须以root身份运行。不支持以无特权用户身份运行容器。我目前正在研究runc:它也与CoreOS一起提供,在其当前的主状态下,它允许您以无特权用户的身份真实地运行容器,并有一些解决方法和限制,但您仍然无法直接在上面运行docker compose文件。