如何让环境占位符出现在一个码头容器中?
这些文档似乎不太清楚它们可以在哪里使用。我试图设置节点env中的那些,如添加到此问题的JPS文件中所示。
例如,它将环境显示为env-2461411,其名称在环境选项中显示为Environment Test。
环境启动后,占位符仍将如它们在JPS文件中所显示的那样,而不会被实际值所取代。
结果
占位符似乎没有被替换,因此shell不喜欢它得到的环境:
-bash: ${env.appid}: bad substitution
-bash: ${env.displayName}: bad substitution
-bash: ${env.domain}: bad substitution
-bash: ${env.envName}: bad substitution
-bash: ${env.name}: bad substitution
-bash: ${env.shortdomain}: bad substitution
-bash: ${env.url}: bad substitution
-bash: ${env.appid}: bad substitution
-bash: ${env.displayName}: bad substitution
-bash: ${env.domain}: bad substitution
-bash: ${env.envName}: bad substitution
-bash: ${env.name}: bad substitution
-bash: ${env.shortdomain}: bad substitution
-bash: ${env.url}: bad substitution预期结果
环境变量显示在bash环境中,如
env_domain=env-2461411
env_name=Environment Test 示例JPS文件
{
"jpsType": "install",
"jpsVersion": "1.4",
"name": "Environment Test",
"description":
{
"text": "Template for testing environment variables test",
"short": "Environment variables test"
},
"logo": "https://raw.githubusercontent.com/jelastic-jps/start-stop-scheduler/master/images/logo.png",
"homepage": "https://jelastic.com/",
"categories":
[
"apps/testing"
],
"success":
{
"text": "## Environment test is up and running\nOpen the Jelastic SSH gateway and locate the test-node, see its environment with `env`"
},
"nodes":
[
{
"image": "debian",
"extip": false,
"count": 1,
"cloudlets": 16,
"fixedCloudlets": 1,
"nodeType": "docker",
"nodeGroup": "test",
"displayName": "test-node",
"volumes":
[
"/root"
],
"env":
{
"env_appid": "${env.appid}",
"env_domain": "${env.domain}",
"env_url": "${env.url}",
"env_displayname": "${env.displayName}",
"env_envname": "${env.envName}",
"env_name": "${env.name}",
"env_shortdomain": "${env.shortdomain}"
}
}
],
"onInstall":
{
"log": "${placeholders}"
}
}发布于 2018-07-02 15:03:15
在环境创建过程中,所提到的占位符没有初始化,不能使用。您可以使用AddContainerEnvVars方法。在您的例子中,它将类似于这。
https://stackoverflow.com/questions/51135703
复制相似问题