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 并记录到文件

Elastic Beanstalk 上的 SSL

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

无法连接到 Elastic Beanstalk 上的 ActionCable