首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将环境变量获取到Docker容器

如何将环境变量获取到Docker容器
EN

Stack Overflow用户
提问于 2018-07-02 11:58:29
回答 1查看 259关注 0票数 3

如何让环境占位符出现在一个码头容器中?

这些文档似乎不太清楚它们可以在哪里使用。我试图设置节点env中的那些,如添加到此问题的JPS文件中所示。

例如,它将环境显示为env-2461411,其名称在环境选项中显示为Environment Test

环境启动后,占位符仍将如它们在JPS文件中所显示的那样,而不会被实际值所取代。

结果

占位符似乎没有被替换,因此shell不喜欢它得到的环境:

代码语言:javascript
复制
-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环境中,如

代码语言:javascript
复制
env_domain=env-2461411
env_name=Environment Test 

示例JPS文件

代码语言:javascript
复制
{
    "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}"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-02 15:03:15

在环境创建过程中,所提到的占位符没有初始化,不能使用。您可以使用AddContainerEnvVars方法。在您的例子中,它将类似于

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51135703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档