我有一个最近停靠的web应用程序,我想在AWS ECS上运行,而一些基本概念(AWS文档中没有解释)让我很反感。
首先,当您编辑/配置一个新容器时,它会要求您指定要使用的图像,但同时还有一个
环境
第节:
这个
入口点
,则,
命令
和
工作目录
字段看起来与我在创建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要求我提供一个映像(已经使用此Dockerfile构建),为什么我需要重新指定完全相同的值
WORKDIR
,则,
EXPOSE
,则,
ENTRYPOINT
,则,
CMD
等
此外,在ECS之外,我运行我的容器,如下所示:
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标签
底部附近部分:
这些与env VAR不同,还是可以互换?