我之前一直在与Docker合作,使用服务来运行由Django创建的网站。
现在,我想知道我应该如何创建一个Docker,以在没有Web服务器和任何与网站相关的服务的情况下仅运行Python脚本。
我曾经工作过的普通码头工人的一个例子是:
version: '2'
services:
nginx:
image: nginx:latest
container_name: nz01
ports:
- "8001:8000"
volumes:
- ./src:/src
- ./config/nginx:/etc/nginx/conf.d
depends_on:
- web
web:
build: .
container_name: dz01
depends_on:
- db
volumes:
- ./src:/src
expose:
- "8000"
db:
image: postgres:latest
container_name: pz01
ports:
- "5433:5432"
volumes:
- postgres_database:/var/lib/postgresql/data:Z
volumes:
postgres_database:
external: true
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml文件应该如何?
我正在使用Terraform v0.12.26和设置并aws_alb_target_group作为:
resource "aws_alb_target_group" "my-group" {
count = "${length(local.target_groups)}"
name = "${var.namespace}-my-group-${
element(local.target_groups, count.index)
}"
port = 8081
protocol = "HTTP"
vpc_id = var.vpc_id
health_check {
healthy_threshold = var.health_check_healthy_threshold
unhealthy_threshold = var.health_check_unhealthy_threshold
timeout = var.health_check_timeout
interval = var.health_check_interval
path = var.path
}
tags = {
Name = var.namespace
}
lifecycle {
create_before_destroy = true
}
}
Run Code Online (Sandbox Code Playgroud)
当地人长这样:
locals {
target_groups = [
"green",
"blue",
]
}
Run Code Online (Sandbox Code Playgroud)
当我运行terraform apply它返回以下错误:
Error: Missing resource instance key
on …Run Code Online (Sandbox Code Playgroud) 我有一个 json 文件,内容如下AWS ECS Task definition:
[
{
"name": "my-name",
"image": "url",
"cpu": 2,
"dnsSearchDomains": null,
"network_configuration":"awsvpc",
"entryPoint": null,
"portMappings": [
{
"hostPort": 8080,
"protocol": "tcp",
"containerPort": 8080
}
],
"command": null,
"linuxParameters": null,
"environment": [],
"resourceRequirements": null,
"ulimits": null,
"dnsServers": null,
"mountPoints": [
{
"readOnly": null,
"containerPath": "/fldr",
"sourceVolume": "fldr"
}
],
"workingDirectory": null,
"secrets": null,
"dockerSecurityOptions": null,
"memoryReservation": 128,
"volumesFrom": [],
"stopTimeout": null,
"startTimeout": null,
"firelensConfiguration": null,
"dependsOn": null,
"disableNetworking": null,
"interactive": null,
"healthCheck": null,
"essential": …Run Code Online (Sandbox Code Playgroud) containers amazon-web-services amazon-cloudwatch terraform ecs-taskdefinition
我正在 AWS 中定义一个任务,我已经使用aws_ecs_task_definition模块来工作该任务。我正在使用模块中的环境变量设置一些环境变量terraform,但其中一些将通过 提供AWS SSM。没有的正常创建AWS SSM是:
environment : [
{
name : "user",
value : "name"
},
],
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力。
然后我尝试:
environment : [
{
name : "user",
valueFrom : "my_env_var_name_in_ssm"
},
],
Run Code Online (Sandbox Code Playgroud)
但这不起作用。当我转到任务定义的 UI 时,该ENV变量不存在,也不存在于 UI 的 json 定义中。
然后我尝试在 UI 中创建它们,并且任务工作完美,我看到当您设置 valueFrom 时,变量ENV是在 json 定义的 Secrets 部分下创建的。所以我尝试将其复制为Terraform:
secrets : [
{
name : "user",
valueFrom : "my_env_var_name_in_ssm"
},
],
Run Code Online (Sandbox Code Playgroud)
但它也不起作用。任务定义 json 为:
{
"ipcMode": null, …Run Code Online (Sandbox Code Playgroud)