Elastic Beanstalk上的Docker =>使用环境配置运行终端

时间:2019-02-06 21:46:03

标签: docker amazon-elastic-beanstalk

使用单个Docker容器运行EBS。我已经使用EBS的环境变量配置来设置诸如连接字符串之类的东西。

我想连接到机器并在新容器中运行终端。

这很容易,我只需要:

eb ssh

然后

sudo docker run -it my-image bash

但是,我希望该终端环境具有与应用程序相同的配置(考虑到heroku运行)。

看起来环境是为/opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh中运行的实际应用程序组装的,但是我并没有运气来适应它的目的。

是否有批准的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

这个问题与https://stackoverflow.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