ОШИБКА: «Нет определения задачи ecs» при развертывании приложения docker / django в Elastic Beanstalk - PullRequest
0 голосов
/ 20 ноября 2018

У меня проблема при развертывании моего приложения с помощью docker / django на AWS Elastic Beanstalk.Я уже загрузил свой код в облако, однако все равно получаю сообщение об ошибке «В среде не найдено определение задачи (или пустой файл определения)».

У меня уже создан файл Dockerrun.aws.jsonкак пара:

{
  "AWSEBDockerrunVersion": 2,
  "volumes": [
    {
      "name": "djangoapp",
      "host": {
        "sourcePath": "/opt/services/djangoapp"
      }
    },
    {
      "name": "nginx",
      "host": {
        "sourcePath": "/etc/nginx/conf.d"
      }
    }  
  ],
  "containerDefinitions": [
    {
      "name": "nginx",
      "image": "nginx:1.13",
      "essential": true,
      "memory": 200,
      "cpu": 1,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80,
          "protocol": "tcp"
        }
      ],
      "links": [
        "djangoapp"
      ],
      "mountPoints": [
        {
          "sourceVolume": "djangoapp",
          "containerPath": "/opt/services/djangoapp",
          "readOnly": true
        },
        {
          "sourceVolume": "nginx",
          "containerPath": "/etc/nginx/conf.d",
          "readOnly": true
        },
        {
          "sourceVolume": "awseb-logs-nginx-proxy",
          "containerPath": "/var/log/nginx"
        }
      ]
    },
    {
      "name": "djangoapp",
      "image": "nginx:1.13",
      "essential": true,
      "memory": 128,
      "mountPoints": [
        {
          "sourceVolume": "djangoapp",
          "containerPath": "/opt/services/djangoapp",
          "readOnly": true
        }
      ]
    }
  ]
}

Я прочитал учебник на странице AWS (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config.html#create_deploy_docker_v2config_dockerrun),, но он все еще не работает.

Чтобы создать этот файл, я попытался сделать обратноеИнженер в моем файле docker-compose. Как пара:

version: '3'

services:

  # database containers, one for each db
  database1:
    image: postgres:10
    volumes:
      - database1_volume:/var/lib/postgresql/data
    env_file:
      - config/db/database1_env
    networks:
      - database1_network

  # web container, with django + gunicorn
  djangoapp:
    build: .
    restart: on-failure
    volumes:
      - .:/opt/services/djangoapp/
      - static:/opt/services/djangoapp/static
    networks:
      - database1_network
      - nginx_network
    depends_on:
      - database1
    expose:
      - "8000"

  # reverse proxy container (nginx)
  nginx:
    image: nginx:1.13
    ports:
      - 8000:80
    volumes:
      - ./config/nginx/conf.d:/etc/nginx/conf.d
      - static:/opt/services/djangoapp/static
    networks:
      - nginx_network
    depends_on:
      - djangoapp

networks:
  database1_network:
    driver: bridge
  nginx_network:
    driver: bridge

volumes:
  database1_volume:
  static:
  media:

Я ценю любую помощь.

Спасибо,

ОБНОВЛЕНИЕ:

Я нашелошибка, связанная с этим. При создании пакета кода я включал папку проекта. После прочтения В этой статье я обнаружил свою ошибку. Однако у меня все еще нет доступа к моему приложению после доступаURL-адрес в верхней части страницы AWS. Символ зеленого цвета, в приглашении не отображаются ошибки. При доступе к URL-адресу возвращается только тот, который не был найден. Если у кого-то возникла эта проблема, пожалуйста, просмотрите.

...