Skip to main content

Docker Compose

Komodo 可以通过 Stack 资源部署 docker compose 项目。

定义 compose 文件

Komodo 支持 3 种定义 compose 文件的方式:

  1. 在 UI 中编写,Komodo 将在部署时将它们写入您的主机。
  2. 将文件存储在主机上的任何位置,Komodo 将只对现有文件运行 compose 命令。
  3. 将它们存储在 git 仓库中,并让 Komodo 在主机上克隆它以进行部署。

如果您在 git 仓库中管理 compose 文件:

  • 您所有服务器上的所有文件都可以在本地使用您喜欢的文本编辑器进行编辑。
  • 您的所有更改都会被跟踪,并且可以恢复。
  • 当您更改 compose 文件内容时,您可以使用 git webhooks 进行其他自动化。重新部署将像 git push 一样简单。
info

许多 Komodo 资源需要访问 git 仓库。有一个内置的令牌管理系统(在 UI 或配置文件中管理),可以为资源提供访问凭据。 所有依赖 git 仓库的资源都能够使用这些凭据访问私有仓库。

导入现有的 Compose 项目

首先在 Komodo 中创建堆栈,并确保它可以使用上述三种方法之一访问 compose 文件。确保附加您希望部署的服务器。

为了让 Komodo 识别正在运行的项目,它必须知道 compose “项目名称”。 您可以通过在主机上运行 docker compose ls 来找到项目名称。

默认情况下,Komodo 将假定堆栈名称是 compose 项目名称。 如果这与主机上的项目名称不同,您可以在配置中配置自定义“项目名称”。

传递环境变量

Komodo 能够将自定义环境变量传递给 docker compose 进程。 工作原理如下:

  1. 在部署时将变量写入主机上的“.env”文件。
  2. 使用 --env-file 标志将文件传递给 docker compose。
info

就像所有其他具有环境(部署、仓库、构建)的资源一样, 堆栈环境支持 变量和秘密插值。在 UI 中定义全局变量 并在各个环境之间共享值。