Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker ECS容器环境配置_Docker_Amazon Ecs - Fatal编程技术网

Docker ECS容器环境配置

Docker ECS容器环境配置,docker,amazon-ecs,Docker,Amazon Ecs,我有一个最近停靠的web应用程序,我想在AWS ECS上运行,一些基本概念(我在AWS文档中没有看到解释)让我很反感 首先,当您编辑/配置一个新容器时,它会要求您指定要使用的图像,但同时还有一个环境部分: 入口点、命令和工作目录字段看起来与我在创建Docker映像时已经指定的命令相似(这是我的Dockerfile): 因此,如果ECS要求我提供一个图像(已经使用此Dockerfile构建),为什么我需要重新为WORKDIR、EXPOSE、ENTRYPOINT、CMD等指定完全相同的值呢 此外,

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

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

入口点、命令和工作目录字段看起来与我在创建Docker映像时已经指定的命令相似(这是我的
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