Elastic Beanstalk和Dockerfile ARG指令
我需要将一些parameter passing给我的docker build
命令。 我知道这可以在Dockerfile
使用ARG
指令Dockerfile
。 现在假设我在Dockerfile
有以下Dockerfile
。
ARG myvar
并使用命令docker build --build-arg mvar=myOwnVar ...
,这将工作。
但是,我正在使用AWS Elastic Beanstalk
和Docker
来构build映像并将其部署到容器中。 所以问题是,
- 这可能吗?
- 如果,是的,我如何确保AWS EB将这些parameter passing给值?
感谢Sushil
昨天我开始使用AWS EB,我很高兴,今天我需要通过一些ARG到我的构build,发现这在文档上
很伤心
来源: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-specific.html
解决方法
一个可能的解决scheme是我目前正在做什么,在运行docker build之前添加一些文件到EB,并使用它从Dockerfile
例如,让我们假设我需要一个var名字TOKEN
在我的docker上
RUN curl http://somemething.comtoken=$TOKEN
所以我做的是
添加一个新的脚本文件
ADD ./curl-thing.sh /curl-thing.sh
和内容
if [ -f "./.env"]; then source ./.env fi
现在添加一个名为.ebextensions/my-env.config
的文件名,这个名字在forlder .ebextensions中存在并且扩展名为.config
files: "/opt/elasticbeanstalk/hooks/appdeploy/pre/02_mix_environment.sh": mode: "000755" owner: root group: root content: | #!/usr/bin/env bash EB_APP_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir) TOKEN=$(/opt/elasticbeanstalk/bin/get-config environment -k TOKEN) echo "export TOKEN=${TOKEN}" >> ${EB_APP_DEPLOY_DIR}/.env
- dockerbuild设失败 – “无法分配内存”
- 在Elastic Beanstalk Docker容器上运行非www内容
- 在工作层Elastic Beanstalk泊坞窗容器上缺less供应商目录
- 使用Elastic Beanstalk在AWS上转到Web应用程序,不会在日志中显示输出
- 在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP
- 如何在http nginx dockerpopup的beanstalk中将httpredirect到https
- 如何以编程方式获取运行容器的容器ID(在Docker上)?
- Django +docker到弹性豆茎
- 具有Docker和持久存储的弹性Beanstalk