【问题标题】:Pass NEPTUNE_API_TOKEN environment variable via docker run command通过 docker run 命令传递 NEPTUNE_API_TOKEN 环境变量
【发布时间】:2022-08-16 17:22:48
【问题描述】:

使用docker run 命令,我试图将我的 NEPTUNE_API_TOKEN 传递给我的容器。

我的理解是我应该使用-e 标志,如下所示:-e ENV_VAR=\'env_var_value\' 这可能会起作用。 但是,我希望使用已经运行的会话中存在的值,如下所示:

docker run -e NEPTUNE_API_TOKEN=$(NEPTUNE_API_TOKEN) <my_image>

但是,这样做之后,在检查容器内的值时,NEPTUNE_API_TOKEN 被设置为空。 我的问题是我是否做错了什么,或者这是不可能的,我必须提供一个明确的 Neptune API 令牌作为字符串。

    标签: docker neptune


    【解决方案1】:

    $(NEPTUNE_API_TOKEN) 是运行命令并获取输出的语法。使用$NEPTUNE_API_TOKEN

    【讨论】:

    • 你好谢谢!您能否详细说明区别,何时使用哪个?
    • 例如,以docker rm $(docker ps -aq) 为例,它会删除所有停止的容器。它运行命令docker ps -aq 并将输出放入docker rm 命令。另一方面,echo $PATH 输出环境变量PATH 的值。所以他们是完全不同的。
    【解决方案2】:

    您可以设置并传递 NEPTUNE_API_TOKEN 作为:

    1. Docker run command options environment variable

      示例:docker run -e NEPTUNE_API_TOKEN="&lt;YOUR_API_TOKEN&gt;" &lt;image-name&gt;

      1. Dockerfile environment variable
      2. Docker secret

      海王星将使用上述任何方法。

      对于您的情况,我相信使用方法 2 和 3 效果最好,因为您只需设置一次 API 令牌,所有容器都可以重用它。此外,它们是更安全的方法。

      您可以阅读本指南,了解如何将 Neptune 与我去年创建的 Docker 一起使用。

      文档:https://docs.neptune.ai/how-to-guides/automation-pipelines/how-to-use-neptune-with-docker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      相关资源
      最近更新 更多