在Docker容器中获取弹性beanstalk环境variables
所以,我试图不把敏感信息放在dockerfile上。 一个合乎逻辑的方法就是将ebsconfiguration(GUI)中的creds作为ENVvariables。 但是,docker build似乎无法访问ENVvariables。 有什么想法吗?
FROM jupyter/scipy-notebook USER root ARG AWS_ACCESS_KEY_ID RUN echo {$AWS_ACCESS_KEY_ID}
放置敏感信息(用于Dockerfile)可以用于允许图像的特定步骤运行(构build时间),或者使得生成的图像在运行时仍然具有该秘密。
对于运行时,如果您可以在群集模式configuration中使用最新的docker 1.13,则可以通过这种方式pipe理机密
但是第一种情况(构build时间)通常是将凭证传递给http_proxy
,可以通过--build-arg
来完成:
docker build --build-arg HTTP_PROXY=http://...
该标志允许您在Dockerfile的RUN指令中传递像常规环境variables一样访问的构build时variables。
而且,这些值不会像ENV值一样保留在中间或最终图像中。
在这种情况下,你不会使用ENV
, 但是ARG
:
ARG <name>[=<default value>]
ARG
指令定义了一个variables,用户可以使用--build-arg <varname>=<value>
标志在构build器中通过docker build命令将其传递给构build器
我假设对于每个部署,您都会为该部署创build一个具有正确的docker image标记的新Dockerrun.aws.json文件。 在部署阶段,您可以注入环境值,然后由EB代理在docker run
命令中使用。 所以你的docker集装箱现在可以访问这些环境variables。
- 如何连接AWS ElasticBeanstalk中的多个Docker容器?
- 在EC2上的Docker,dockerfile中的RUN命令不能读取环境variables
- AWS泊坞窗设置 – 无caching标志
- Elastic Beanstalk MultiContainer Docker环境variables
- AWS EB部署 – 我的应用程序在哪里?
- Docker在AWS Elastic Beanstalk上的Docker
- 如何设置运行Django的AWS Elastic Beanstalk Docker平台?
- 在Elastic Beanstalk上强制HTTPS单容器泊坞窗应用程序
- 弹性豆茎:没有bulddocker形象