弹性Beanstalk和Dockerfile ARG指令
我需要将一些参数传递给我的弹性Beanstalk和Dockerfile ARG指令,docker,amazon-elastic-beanstalk,Docker,Amazon Elastic Beanstalk,我需要将一些参数传递给我的docker build命令。我知道这可以使用Dockerfile中的ARG指令来完成。现在假设我的Dockerfile中有以下内容 ARG myvar 并使用命令docker build--build arg mvar=myOwnVar…,这将起作用 但是,我正在使用AWS Elastic Beanstalk和Docker构建映像并将其部署到容器中。所以问题是, 这可能吗 如果是,如何确保AWS EB将值传递给这些参数 谢谢 Sushil昨天我开始使用AWS EB,
docker build
命令。我知道这可以使用Dockerfile
中的ARG
指令来完成。现在假设我的Dockerfile
中有以下内容
ARG myvar
并使用命令docker build--build arg mvar=myOwnVar…
,这将起作用
但是,我正在使用AWS Elastic Beanstalk和Docker
构建映像并将其部署到容器中。所以问题是,
Sushil昨天我开始使用AWS EB,我很高兴,今天我需要将一些ARG传递到我的构建中,在文档中发现了这个 非常伤心 资料来源: 变通办法 一个可能的解决方案是我目前正在做的,在运行docker build之前,向EB添加一些文件,并从Dockerfile使用它 例如,假设我在docker上需要一个var name
TOKEN
,比如
RUN curl http://somemething.com?token=$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
哇,从16年开始,还没有答案,我也有同样的困境。我浪费了整整一天的时间在AWS开发者论坛上似乎有一个相关的帖子-。到今天为止,似乎还没有这样的功能。