Esta parece ser a única maneira de definir ENVs com valores dinâmicos no pé de feijão. Eu vim com uma solução alternativa que funciona para minha configuração de várias janelas de encaixe:
1) Adicione isso ao seu Dockerfile antes de criar + fazer upload no seu repositório ECS:
CMD eval `cat /tmp/envs/env_file$`; <base image CMD goes here>;
2) No seu arquivo Dockerrun.aws.json, crie um volume:
{
"name": "env-file",
"host": {
"sourcePath": "/var/app/current/envs"
}
}
3) Monte o volume no seu contêiner
{
"sourceVolume": "env-file",
"containerPath": "/tmp/envs",
"readOnly": true
}
4) No seu arquivo .ebextensions / options.config, adicione um bloco container_commands da seguinte maneira:
container_commands:
01_create_mount:
command: "mkdir -p envs/"
02_create_env_file:
command: { "Fn::Join" : [ "", [ 'echo "', "export ENVIRONMENT_NAME=" , { "Ref", "RESOURCE" }, ';" > envs/env_file;' ] ] }
5) eb deploy e seu ENVS deve estar disponível no contêiner do docker
Você pode adicionar mais ENVs adicionando mais comandos container_ como:
02_create_env_file_2:
command: { "Fn::Join" : [ "", [ 'echo "', "export ENVIRONMENT_NAME_2=" , { "Ref", "RESOURCE2" }, ';" >> envs/env_file;' \] \] }
Espero que isto ajude!