docker build -t test2 -f tests/low_conviction_integration/Dockerfile .
如果我需要从 Dockerfile 上方的目录中复制文件,我可以通过调用来完成它
docker build -t image_name -f path_to_docker_file/Dockerfile .
从上面的目录
如何使用 docker-compose 完成相同的行为?我希望 docker-compose 与 Dockerfile 存在于同一目录中,使用 Dockerfile 进行构建,但最终将其称为 ABOVE 目录,以便我可以复制正确的文件。我试过
docker-compose -f path_to_docker_file_and_compose/docker-compose.yml up
从 ABOVE 目录,但是当从 Dockefile 构建时,它抱怨 ABOVE 目录中的文件在构建时无法复制(这意味着它正在从与 Dockerfile 相同的目录运行 docker build。我需要它来运行构建ABOVE 目录)。
我有一个简单的Cloudwatch仪表板,用于监视简单ECS集群中正在运行的任务数。AWS提供的正是我想要的文档。问题是它不能准确地反映在我的仪表板上。
通常,我需要的服务总数是3:1个Django任务和2个芹菜任务。在大多数情况下,这会正确地反映在较小的仪表板上,但并非总是如此,这让我有些疯狂:\
当前配置是按书进行的。我使用ServiceName,ClusterName维度,CPUUtilization作为度量标准,统计的样本计数和该期间的1分钟。AWS就是这样说我应该这样做。
但是我在仪表板上看到了这个:https://imgur.com/fbBjThi
但是,直接看ECS,我只有1个django和2个芹菜任务正在运行。Cloudfront仪表板似乎加倍,有时甚至是样本计数值增加了两倍,因此计算错误。
即使在我编辑此特定小部件时从Cloudfront中,也将显示正确的任务计数:https ://imgur.com/oZfWDyQ
似乎Cloudfront在1分钟内获得了一个以上的样本计数,因此我尝试将周期减少到30秒,但这似乎无济于事。
根据AWS文档的建议,1分钟是正确的时间吗?如果没有,合适的期限是多少?
我是 Cloudformation 的新手(来自 Terraform)。我在SSM中有一个参数
Key: /qa0/myService/lambda/subnetIds
Value: subnet-1234abcd, subnet-5678abcd
Type: StringList
Run Code Online (Sandbox Code Playgroud)
我想在 Cloudformation 模板中的 Lambda 的VpcConfig部分动态引用此参数,但我没有得到正确的结果。我尝试过很多不同的事情。另外,我使用一个参数来允许在多个环境中重用,因此该参数将填充为 qa0、qa1 等。StackEnv
VpcConfig:
SecurityGroupIds: !Ref VpcSecurityGroupIds
SubnetIds: !Sub '{{resolve:ssm:/${StackEnv}/myService/lambda/subnetIds:1}}'
Run Code Online (Sandbox Code Playgroud)
结果:“属性 SubnetIds 的值必须是字符串列表类型”
VpcConfig:
SecurityGroupIds: !Ref VpcSecurityGroupIds
SubnetIds: [!Split [",", !Sub '{{resolve:ssm:/${StackEnv}/myService/lambda/subnetIds:1}}']]
Run Code Online (Sandbox Code Playgroud)
结果:“子网 ID 'subnet-1234abcd,subnet-5678abcd' 不存在”。由于某种原因,它没有在这里拆分 StringList。
编辑:按照评论中建议的 404 从此处的数组中取出 Split ( SubnetIds: !Split [ ",", !Sub '{{resolve:ssm:/${StackEnv}/myService/lambda/subnetIds:1}}']) 会得到相同的结果。
如果我尝试将 SSM 参数定义为 Cloudformation 模板参数( AWS::SSM::Parameter::Value<List<String>>),我会遇到困难,因为我需要替换默认值StackEnv,而不是静态字符串,而静态字符串不受支持。该模板抱怨默认值必须是字符串。
我尝试过将动态查找结果嵌套在方括号中的各种版本,但没有成功:
SubnetIds: [ !Sub '{{resolve:ssm:/${StackEnv}/myService/lambda/subnetIds:1}}' ]
我在这里做错了什么?