我有一个最近的Dockerized Web应用程序,我想在AWS ECS上运行,一些基本概念(我在AWS文档中没有看到这些概念)让我失望。
首先,当您编辑/配置新容器时,它会要求您指定要使用的图像,但还有环境部分:
入口点, Command 和工作目录字段看起来与我在创建Docker镜像时已经指定的命令非常相似(这里&# 39; s我的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要求我提供图像(已使用此Dockerfile构建),为什么在tarnation中我需要为WORKDIR
重新指定完全相同的值,{{1 },EXPOSE
,ENTRYPOINT
等等?!?
同样在ECS之外我运行我的容器:
CMD
注意我是如何指定env文件的? ECS是否支持env文件,或者我是否真的必须将env文件中的每个env var输入到此UI中?
此外,我发现底部附近有 Docker Labels 部分:
这些不同于env vars,还是可以互换?
答案 0 :(得分:1)
是的,您需要通过UI或CLI添加环境变量。
对于CLI,您需要将其作为JSON模板传递。
此外,如果您已在Dockerfile中指定了这些值,则无需再次传递这些值。
将从外部传递的所有值都将覆盖Dockerfile
中的内部/默认值