【问题标题】:How to set an environment variable for docker-compose in Intellij?如何在 Intellij 中为 docker-compose 设置环境变量?
【发布时间】:2023-03-16 12:45:01
【问题描述】:

我似乎无法找到一种方法来设置可在 Intellij(Ultimate 2017.3 macos)中的 docker-compose 中使用的环境变量。 如果我将 .env 文件添加到 docker-compose.yml 所在的文件夹中,则 Intellij 不会拾取它。此外,如果我在终端中执行“导出 MYVARIABLE=foo”,则 Intellij docker 插件不会接收到它。 Docker 和 docker-compose 在 Intellij 内部或外部都可以正常工作,唯一的问题是这种环境变量替换在 Intellij 中不起作用。

它一直在说: 未设置 MYVARIABLE 变量。默认为空字符串。

在我的 docker-compose.yml 我有一个对 ${MYVARIABLE} 的引用,在 Intellij 之外它工作正常。

【问题讨论】:

  • 能否将撰写文件添加到问题中?

标签: intellij-idea docker-compose


【解决方案1】:

Docker-compose 运行配置将使用 .env 后缀标识 environment files,如果它们与 Docker Compose 文件位于同一目录中。

https://www.jetbrains.com/help/idea/docker.html#using-docker-compose

MYVARIABLE=test 放入.env 文件。

在您的.env 文件中:

MYVARIABLE=test

NGINX_PORT=80
MYSQL_PORT=3306
ADMINER_PORT=8080
...

参见https://github.com/codeliner/php-ddd-cargo-sample/docker-composer.yml.env.dist

在我的例子中,将 .env.dist 复制到 .env

【讨论】:

    【解决方案2】:

    它适用于我的导出

    export MYVARIABLE=test 在您的终端中。

    您可以使用命令env | grep 'myvariable'进行验证。

    在您的撰写文件中:

    environment: - MYVARIABLE=${MYVARIABLE}

    【讨论】:

    • 这适用于 Intellij 的“外部”,这意味着我可以在终端 'docker-compose up' 中执行并且它可以工作,但是如果我从运行中运行 docker-compose 它就不起作用/debug 配置 intellij 本身。
    猜你喜欢
    • 2022-07-01
    • 2022-11-10
    • 2020-01-12
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 2022-12-20
    相关资源
    最近更新 更多