将GitLab注册表连接到AWS上的ECS - 花了太长时间才能响应

时间:2017-12-12 10:07:14

标签: amazon-web-services docker docker-compose gitlab amazon-ecs

我有一个python应用程序,我使用docker-compose在本地运行。 我有2个不同的docker撰写文件;一个用于本地开发(安装了node.js和webpack),另一个用于生产,只有python和nginx。生产的那个简称为docker-compose.yml

看起来像这样:

version: '3'
services:
  nginx:
    image: nginx:latest
    container_name: ANALYTICME_NGINX_PROD
    ports:
      - "8000:8000"
    volumes:
      - ./config/nginx:/etc/nginx/conf.d
    depends_on:
      - web
  web:
    environment:
      - SETTINGS=PROD
    build: .
    container_name: ANALYTICME_DJANGO_PROD
    command: bash -c "python3 manage.py collectstatic --noinput && python manage.py makemigrations && python manage.py migrate && gunicorn analyticme.wsgi -b 0.0.0.0:8000"
    expose:
      - "8000"

我的nginx conf文件如下所示:

upstream web {
  ip_hash;
  server web:8000;
}

server {

    location /static/ {
        autoindex on;
        alias /static/;
    }

    location / {
        proxy_pass http://web/;
    }
    listen 8000;
    server_name localhost;
}

这在我的localhost上运行良好,然后我使用:

docker login registry.gitlab.com
docker-compose build -t registry.gitlab.com/[user]/[repo] .
docker push registry.gitlab.com/[user]/[repo]

将新图像推送到我的gitlab注册表。

然后我创建了一个连接到此repo的新ecs集群,在创建集群时我没有真正触及任何设置... 该应用程序已部署,但当我访问IP时,我得到:took too long to respond.

我的任务如下:

task

我如何连接这两个?我应该在群集中更改哪些设置才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

我想说这很可能是因为只有10个CPU单元。

作为比较 - 单个核心应该等于1024个单位;所以你基本上只允许容器最多占核心的0.09%;因此,它可能无法正常启动。

如果这与您的Gitlab注册表有任何关系,我会认为该任务实际上会失败,因为它无法提取图像。