Elastic Beanstalk 上的 Docker => 使用环境配置运行终端
Posted
技术标签:
【中文标题】Elastic Beanstalk 上的 Docker => 使用环境配置运行终端【英文标题】:Docker on Elastic Beanstalk => Run terminal with environment configuration 【发布时间】:2019-06-30 23:03:25 【问题描述】:使用单个 Docker 容器运行 EBS。我已经使用 EBS 的环境变量配置来设置连接字符串等内容。
我想连接到一台机器并在一个新容器中运行一个终端。
这很简单,我只需要:
eb ssh
然后
sudo docker run -it my-image bash
但是,我希望终端环境与应用程序具有相同的配置(想想 heroku 运行)。
看起来环境是为 /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh 中运行的实际应用程序组装的,但我没有任何运气来适应我的目的。
是否有经过批准的方法来完成此操作?
【问题讨论】:
【参考方案1】:这个问题与https://***.com/questions/31572970/how-to-run-rails-migrations-and-seeding-in-amazon-elastic-beanstalk-single-conta/31932687#31932687_ 密切相关,我正在使用@nmott 的答案:
#! /usr/bin/env bash
. /opt/elasticbeanstalk/hooks/common.sh
EB_SUPPORT_FILES=$(/opt/elasticbeanstalk/bin/get-config container -k support_files_dir)
EB_CONFIG_DOCKER_ENV_ARGS=()
while read -r ENV_VAR; do
EB_CONFIG_DOCKER_ENV_ARGS+=(--env "$ENV_VAR")
done < <($EB_SUPPORT_FILES/generate_env)
docker run --rm "$EB_CONFIG_DOCKER_ENV_ARGS[@]" -it <image> bash
【讨论】:
以上是关于Elastic Beanstalk 上的 Docker => 使用环境配置运行终端的主要内容,如果未能解决你的问题,请参考以下文章
Elastic Beanstalk 上的 ElasticSearch
AWS Elastic Beanstalk 上的 Spring Boot 并记录到文件
如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?