设置 Dokku 环境变量

Ron*_*Ron 3 dokku

我正在尝试在 Dokku 上设置一些变量以进行部署。就我从开发文件中看到的而言,应该在目录中创建一个 .env 文件并将变量放在那里。但这并没有更新任何东西

.env 文件

DOKKU_NGINX_PORT=3000
MYSQL_URL=http://blabla
MYSQL_USER=mysqluser
Run Code Online (Sandbox Code Playgroud)

我正在尝试将应用程序的端口映射到端口 3000,并将 mysql 变量注入运行时环境。

我知道我可以在服务器上使用 dokku config:set 设置它,但我希望能够在部署过程中实现自动化。

有任何想法吗?或者举例?

Set*_*man 5

您需要安装 Dokku 客户端或 CLI,以便与 Dokku 实例上的远程应用程序进行本地交互。

这里有几个选项:

  • (node.js) dokku-toolbelt

    Dokku 工具带是一个基于节点的 CLI 包装器,它将请求代理到在远程主机上运行的 Dokku 命令。

您可以通过以下 shell 命令安装它(假设您安装了 node 和 npm):

$ npm install -g dokku-toolbelt
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此处文档

  • (python) dokku 客户端

    Dokku 客户端是一个可扩展的基于 python 的 cli 包装器,用于远程 Dokku 主机。

您可以通过以下 shell 命令安装它(假设您安装了 python 和 pip):

$ pip install dokku-client
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此处文档

  • (红宝石)Dokku CLI

    Dokku CLI 是一个 ruby​​gem,充当 Dokku 安装的客户端。

您可以通过以下 shell 命令安装它(假设您安装了 ruby​​ 和 ruby​​gems):

$ gem install dokku-cli
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此处文档


在本地安装 Dokku 客户端后,请确保在存储库目录中设置了 dokku app remote。

您可以通过运行来验证这一点$ git remote -v

如果输出未显示您的 dokku 应用程序实例,请使用以下命令进行设置:

$ git remote add dokku dokku@example.com:your-app-name
Run Code Online (Sandbox Code Playgroud)

这是我的终端中的一个示例,其中出于安全目的对一些信息进行了编辑。

    seth@linuxmint ~/repos/Adopt-a-Pet $ git remote -v
    dokku   dokku@example.com:adopt-a-pet (fetch)
    dokku   dokku@example.com:adopt-a-pet (push)
    origin  https://github.com/sethbergman/Adopt-a-Pet.git (fetch)
    origin  https://github.com/sethbergman/Adopt-a-Pet.git (push)
Run Code Online (Sandbox Code Playgroud)

然后您可以使用以下命令设置环境变量:

$ dokku config:set DOKKU_NGINX_PORT=3000
Run Code Online (Sandbox Code Playgroud)

您可以选择使用.env文件设置环境变量:

$ dokku config:set:file <path/to/.env>
Run Code Online (Sandbox Code Playgroud)

如果.env文件位于存储库的根目录中,则命令为:

$ dokku config:set:file <.env>
Run Code Online (Sandbox Code Playgroud)

  • 这根本没有回答原来的问题。OP询问如何从文件中自动获取环境变量,而不是如何在给定文件的情况下手动设置它们...... (2认同)

小智 0

如果您使用 ruby​​,则可以使用 gem 'dokku-cli'。这样,您可以通过发出命令从任何文件设置配置

dokku config:set:file <path/to/file>
Run Code Online (Sandbox Code Playgroud)

请参阅红宝石文档