繁体   English   中英

在docker容器中获取弹性beanstalk环境变量

[英]Get elastic beanstalk environment variables in docker container

所以,我试图不在dockerfile上放置敏感信息。 逻辑方法是将ebs配置(GUI)中的信用作为ENV变量。 但是,docker build似乎无法访问ENV变量。 有什么想法吗?

在此输入图像描述

FROM jupyter/scipy-notebook

USER root

ARG AWS_ACCESS_KEY_ID
RUN echo {$AWS_ACCESS_KEY_ID}

放置敏感信息(供Dockerfile使用)可以是允许运行图像的特定步骤(构建时间),也可以是生成的图像在运行时仍保留该秘密。
对于运行时,如果您可以在群集模式配置中使用最新的docker 1.13,则可以通过这种方式管理机密

但第一种情况(构建时间)通常用于将凭据传递给http_proxy ,这可以通过--build-arg

 docker build --build-arg HTTP_PROXY=http://...

此标志允许您传递在Dockerfile的RUN指令中像常规环境变量一样访问的构建时变量。
而且,这些值不会像ENV值那样在中间或最终图像中持续存在。

在这种情况下,你不会使用ENVARG

ARG <name>[=<default value>]

ARG指令使用--build-arg <varname>=<value>标志定义一个变量,用户可以使用docker build命令在构建时将该变量传递给构建器。

我假设您为每个部署创建一个新的Dockerrun.aws.json文件,其中包含该部署的正确docker image标记。 在部署阶段,您可以注入环境值,然后由EB代理在docker run命令中使用这些值。 因此,您的docker容器现在可以访问这些环境变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM