代码之家  ›  专栏  ›  技术社区  ›  smeeb

ECS容器环境配置

  •  0
  • smeeb  · 技术社区  · 8 年前

    我有一个最近停靠的web应用程序,我想在AWS ECS上运行,而一些基本概念(AWS文档中没有解释)让我很反感。

    首先,当您编辑/配置一个新容器时,它会要求您指定要使用的图像,但同时还有一个 环境 第节:

    enter image description here

    这个 入口点 ,则, 命令 工作目录 字段看起来与我在创建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标签 底部附近部分:

    enter image description here

    这些与env VAR不同,还是可以互换?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Manoj Bhagwat    8 年前

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

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

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

    所有将从外部传递的值将覆盖Dockerfile中的内部/默认值

    推荐文章