小编Mai*_*aik的帖子

在没有Web服务器的情况下在Docker中运行Python脚本?

我之前一直在与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文件应该如何?

python docker

3
推荐指数
1
解决办法
758
查看次数

错误 aws_alb_target_group 设置了“计数”,必须在特定实例上访问其属性

我正在使用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)

amazon-web-services terraform aws-alb

3
推荐指数
1
解决办法
3461
查看次数

日志驱动程序 awslogs 需要选项:awslogs-region、awslogs-group

我有一个 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

3
推荐指数
1
解决办法
3249
查看次数

AWS SSM 作为 Terraform 中任务的 valueFrom 不起作用

我正在 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)

amazon-web-services amazon-ecs docker terraform

2
推荐指数
1
解决办法
2042
查看次数