0xDBFB7
(Daniel Correia)
1
您好!我将 discourse 的 app.yml 配置文件保存在了一个 git 仓库中(与服务器的其他配置一起)。
很自然地,我希望将 DISCOURSE_SMTP_PASSWORD 排除在 git 仓库之外,因此我想单独传递它。有什么推荐的方法吗?
我尝试过:
使用 docker-compose 的 env_file: 部分,以及 env:,来尝试传递一个单独的文件:
env_file:
- path: /var/discourse/containers/creds.env
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
...
====== creds.env ======
DISCOURSE_SMTP_PASSWORD="..."
但我一直无法让 docker 识别这个 ENV 变量。
我尝试将其传递给 --docker-args,
sudo /var/discourse/launcher rebuild app --docker-args DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD
但这会立即出错:
docker: invalid reference format: repository name must be lowercase.
感谢这款出色的软件,希望你们一切安好 :)))
2 个赞
嘿,欢迎回来!
我认为正确的语法应该是这样的:
./launcher rebuild app --docker-args "-e DISCOURSE_SMTP_PASSWORD=\"password\""
使用 --env-file,这应该也能奏效:
./launcher rebuild app --docker-args "--env-file=/var/discourse/containers/creds.env"
2 个赞
0xDBFB7
(Daniel Correia)
3
太棒了!
(为了存档:我还得稍微调整了一下引用,像这样:
./launcher rebuild app --docker-args "-e DISCOURSE_SMTP_PASSWORD=$DISCOURSE_SMTP_PASSWORD"
否则我会收到 **ERROR** - 535 Authentication failed 的错误——而且在重建控制台输出的最后一行,你可以看到命令行中多了一对引号。我认为 env_file 变量声明可能也不应该像我最初发帖时那样加上引号。)
非常感谢你的帮助,祝你一天愉快!
2 个赞
system
(system)
关闭
4
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.