#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 Пожалуйста, сделайте свой комментарий ответом на принятие. Стив, спасибо за предложение. В чем преимущество добавления сетевого моста здесь?