docker-compose up работает на локальном, а не на deployment

#docker #docker-compose

#docker #docker-compose

Вопрос:

В моем развертывании

 ubuntu@ip-172-31-28-117:~$ docker ps
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                NAMES
56262dfb645a        short_text_understanding_frontend   "/docker-entrypoint.…"   20 hours ago        Up 7 minutes        0.0.0.0:80->80/tcp   short_text_understanding_frontend_1
4aec8408f651        short_text_understanding_ner        "gunicorn --bind 0.0…"   20 hours ago        Up 7 minutes        5000/tcp             short_text_understanding_ner_1
ubuntu@ip-172-31-28-117:~$ dig  short myip.opendns.com @resolver1.opendns.com
54.87.175.43
ubuntu@ip-172-31-28-117:~$
  

Но если я введу 54.87.175.43 в свой браузер, время ожидания соединения истечет.

Вот выдержка из docker-compose up

 ubuntu@ip-172-31-28-117:~/short_text_understanding$ docker-compose up
Starting short_text_understanding_ner_1 ... done
Starting short_text_understanding_frontend_1 ... done
Attaching to short_text_understanding_ner_1, short_text_understanding_frontend_1
frontend_1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
frontend_1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
frontend_1  | 10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
frontend_1  | 10-listen-on-ipv6-by-default.sh: error: /etc/nginx/conf.d/default.conf differs from the packages version
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
frontend_1  | /docker-entrypoint.sh: Configuration complete; ready for start up
ner_1       | 2020-10-08 08:54:01,172 loading file /root/.flair/models/en-upos-ontonotes-fast-v0.4.pt
ner_1       | [2020-10-08 08:54:07  0000] [1] [INFO] Starting gunicorn 20.0.4
ner_1       | [2020-10-08 08:54:08  0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
ner_1       | [2020-10-08 08:54:08  0000] [1] [INFO] Using worker: gevent
ner_1       | [2020-10-08 08:54:08  0000] [8] [INFO] Booting worker with pid: 8
  

Для меня все выглядит нормально. В чем здесь проблема?

Моя среда разработки — macOS, а среда развертывания — Ubuntu 18.04 LTS

docker-compose.yml

 version: '3.8'

services:
   ner:
       build: ./src_python
       command: gunicorn --bind 0.0.0.0:5000 wsgi:app --preload -k gevent --worker-connections 5
       expose:
           - 5000
   frontend:
       build:
           context: .
           dockerfile: Dockerfile
       ports:
           - 80:80
       stdin_open: true
       depends_on:
           - ner
  

./Dockerfile

 FROM node:14-alpine3.12 AS build_stage
WORKDIR /
COPY package.json package-lock.json ./
RUN npm install
COPY src ./src
COPY public ./public
RUN npm run build

FROM nginx:alpine
COPY --from=build_stage /build/ /usr/share/nginx/html
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf
  

./python_src/Dockerfile

 FROM python:3.7-slim
COPY . /app

WORKDIR /app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
RUN pip install --no-cache-dir -r requirements.txt

# RUN python -c 'import flair; _ = flair.models.SequenceTagger.load("upos-fast"); _ = flair.embeddings.FlairEmbedding("news-forward"); _ = flair.embeddings.FlairEmbedding("news-backward");'

ENV FLASK_ENV production
  

Комментарии:

1. возможно, разрешения. Вы уверены, что ваш файл docker-compose.yml? Используете ли вы dotenv и dotenv для безопасной передачи переменных в зависимости от среды?

2. Я редактировал, как вы прокомментировали: D. Нет, я не использовал dotenv

3. Я не эксперт по docker, но я бы посоветовал несколько вещей. Для более точного изменения попробуйте изменить доступ к портам. Также рассмотрите возможность добавления сетевого моста, который они оба используют.

4. Вы используете это в EC2 или аналогичной облачной среде? Разрешают ли ваши группы безопасности и другая конфигурация сети входящий запрос?

5. @DavidMaze Пожалуйста, сделайте свой комментарий ответом на принятие. Стив, спасибо за предложение. В чем преимущество добавления сетевого моста здесь?