【发布时间】:2016-10-28 21:22:26
【问题描述】:
我对设置远程服务器很陌生,但我今天正在玩,希望我可以在设置时利用Cloud Config 文件,以便在服务器启动时设置一些环境变量。
在 Digital Ocean 上启动机器时,如何以编程方式设置环境变量?关键是我想自动化设置并避免以交互方式定义这些变量。
提前致谢。
【问题讨论】:
标签: environment-variables digital-ocean
我对设置远程服务器很陌生,但我今天正在玩,希望我可以在设置时利用Cloud Config 文件,以便在服务器启动时设置一些环境变量。
在 Digital Ocean 上启动机器时,如何以编程方式设置环境变量?关键是我想自动化设置并避免以交互方式定义这些变量。
提前致谢。
【问题讨论】:
标签: environment-variables digital-ocean
有几种方法可以做到这一点,尽管Cloud Init 不支持环境变量的内置资源类型。
根据您的操作系统,使用write-files 部分将您想要的环境变量输出到适当的文件。对于 CoreOS,您可以执行以下操作:
write_files:
- path: "/etc/profile.env"
append: true
content: |
export MY_VAR="foo"
对于 Ubuntu,使用 /etc/environment,或用户的个人资料等。
【讨论】:
append: true 来防止这种情况
这就是我为 ubuntu 所做的
write_files:
- path: /etc/environment
content: |
FOO="BAR"
append: true
【讨论】:
您需要环境变量是永久的,还是仅用于执行单个命令/脚本? 如果是针对单个命令,您可以这样做:
FOO=${BAR} | sh ./your_script.sh
【讨论】: