ECS容器环境配置

ECS Container Environment Configuration

我有一个最近 Docker 化的 Web 应用程序,我想在 AWS ECS 上获得 运行ning,以及一些基本概念(我没有在 AWS 中看到解释文档)让我失望。

首先,当您 Edit/configure 一个新容器时,它会要求您指定要使用的图像,但随后还有一个 Environment 部分:

入口点命令工作目录字段看起来与命令可疑地相似我在创建 Docker 图像时已经指定(这是我的 Dockerfile):

FROM openjdk:8

RUN mkdir /opt/myapp

ADD build/libs/myapp.jar /opt/myapp
WORKDIR /opt/myapp
EXPOSE 9200
ENTRYPOINT ["java", "-Dspring.config=.", "-jar", "myapp.jar"]

因此,如果 ECS 要求我提供图像(已经使用此 Docker 文件构建),为什么在 tarnation 中我需要为 WORKDIR 重新指定完全相同的值, EXPOSEENTRYPOINTCMD 等?!?

我也在 E​​CS 之外 运行 我的容器是这样的:

docker run -it -p 9200:9200 -d --net="host" --env-file ~/myapp-local.env --name myapp myapp

注意我是如何指定 env 文件的吗? ECS 是否支持 env 文件,或者我真的必须将我的 env 文件中的每个 env var 输入到这里 UI 中吗?

我还看到底部附近有一个 Docker 标签 部分:

这些与环境变量有什么不同,或者它们可以互换吗?

是的,您需要通过 UI 或 CLI 添加环境变量。

对于 CLI,您需要将其作为 JSON 模板传递。

此外,如果您已经在 Dockerfile 中指定了这些值,则无需再次传递这些值。

所有将从外部传递的值将覆盖 Dockerfile

中的 internal/default 值