Docker ECS容器环境配置
我有一个最近停靠的web应用程序,我想在AWS ECS上运行,一些基本概念(我在AWS文档中没有看到解释)让我很反感 首先,当您编辑/配置一个新容器时,它会要求您指定要使用的图像,但同时还有一个环境部分: 入口点、命令和工作目录字段看起来与我在创建Docker映像时已经指定的命令相似(这是我的Docker ECS容器环境配置,docker,amazon-ecs,Docker,Amazon Ecs,我有一个最近停靠的web应用程序,我想在AWS ECS上运行,一些基本概念(我在AWS文档中没有看到解释)让我很反感 首先,当您编辑/配置一个新容器时,它会要求您指定要使用的图像,但同时还有一个环境部分: 入口点、命令和工作目录字段看起来与我在创建Docker映像时已经指定的命令相似(这是我的Dockerfile): 因此,如果ECS要求我提供一个图像(已经使用此Dockerfile构建),为什么我需要重新为WORKDIR、EXPOSE、ENTRYPOINT、CMD等指定完全相同的值呢 此外,
Dockerfile
):
因此,如果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是否支持环境文件,或者我真的必须在这里将环境文件中的每个环境变量输入到这个UI中
我还看到底部附近有一个Docker标签部分:
这些变量与环境变量不同,还是可以互换?是的,您需要通过UI或CLI添加环境变量 对于CLI,您需要将其作为JSON模板传递 此外,如果您已经在Dockerfile中指定了这些值,则无需再次传递这些值 将从外部传递的所有值将覆盖Dockerfile中的内部/默认值
docker run -it -p 9200:9200 -d --net="host" --env-file ~/myapp-local.env --name myapp myapp