【问题标题】:Can I run/convert a Docker-Compose project with/to CoreOS rkt?我可以使用 CoreOS rkt 运行/转换 Docker-Compose 项目吗?
【发布时间】:2016-11-30 23:44:14
【问题描述】:

我可以使用 CoreOS rkt 或一些相关工具来运行我的 Docker-Compose 项目吗?

对于 CoreOS 和 rkt,是否有某种方法可以将 Docker-Compose 项目转换为类似的项目?

我的 Docker-Compose 项目在 localhost 和生产服务器上运行良好。但我认为我更喜欢 CoreOS 和 rkt 的安全模型——这样我就不必在我的开发机器上以 root 权限运行容器(对吗?)。

这似乎是关于如何使用 rkt 运行单个 Docker 容器的文档:https://coreos.com/rkt/docs/latest/running-docker-images.html — 但我想要类似 Docker-Compose 的功能,而不仅仅是单个容器。

(我目前使用基于 Ubuntu 的 Linux 发行版。)

【问题讨论】:

  • 我也对此感兴趣。似乎有github.com/jfusterm/compose2fleet 我没有时间尝试。或者,您可以设置类似 Kubernetes 的东西,但这对我来说似乎有点过头了。
  • @dancek compose2fleet 听起来很有趣,可能是我所希望的。 - 到目前为止,我也没有时间测试它:- P 但稍后
  • 这是一种将 Docker Compose 应用程序转换为 Kubernetes 清单的方法:blog.kubernetes.io/2016/11/…。 Kubernetes 可以运行 CoreOS + rkt。不过添加 Kubernetes 也感觉有点复杂。

标签: docker docker-compose coreos rkt


【解决方案1】:

rkt-compose 是kubernetes 和compose2fleet 的轻量级替代品。 rkt-compose 支持 docker-compose 文件语法的子集,并在包装​​的 rkt 进程中的单个 pod 中运行 docker-compose 文件的所有服务,而不依赖于 rkt 和 docker(用于构建)之外的其他工具。为了支持服务发现和健康检查,Consul 集成可以选择启用。

我已经针对我的几个旧 docker-compose 项目成功地测试了当前的 rkt-compose v0.1.0 release。

披露:我在玩 rkt 和学习 golang 的同时开发了 rkt-compose。

安全注释: 与 docker rkt 一样,容器也必须以 root 身份运行。不支持以非特权用户身份运行容器。我目前正在调查runc:它还随 CoreOS 一起提供,在其当前的主状态下,它允许您以非特权用户的身份真正运行容器,但有一些解决方法和限制,但您仍然不能直接在其上运行 docker-compose 文件。

【讨论】:

  • 好的,这看起来很有趣。 (到目前为止,我不会将其标记为已接受的答案,因为它似乎尚未记录并且仍在开发中,对。)嗯我不完全明白:它是直接使用docker-compose.yml,还是转换将该文件放入 Kubernetes 配置文件并改用 Kubernetes 文件?之后有人会编辑 Kubernetes 文件吗? (从我的角度来看,这两种方法都很好)
  • 更新了我的答案:它直接运行 docker-compose.yml 文件,并且不依赖于 Kubernetes。我终于记录了这个项目并创建了一个版本。欢迎反馈。
猜你喜欢
  • 2018-04-07
  • 1970-01-01
  • 2021-01-26
  • 2016-05-08
  • 2015-05-04
  • 1970-01-01
  • 2022-01-12
  • 2021-07-25
  • 2011-12-21
相关资源
最近更新 更多