Nano Hash - криптовалюты, майнинг, программирование

Не удается увидеть мое веб-приложение с использованием контейнера Docker

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

Файл компоновки докера выглядит так

version: '2'
services:
db:
    image: postgres
    volumes:
        - ~/pgdata:/var/lib/postgresql/data/pgdata
    environment:
        POSTGRES_PASSWORD: "dbpassword"
        PGDATA: "/var/lib/postgresql/data/pgdata"
    ports:
        - "5432:5432"
web:
    build:
        context: .
        dockerfile: Dockerfile-web
    ports:
        - "5000:5000"
    volumes:
        - ./web:/web
    depends_on:
        - db
backend:
    build:
        context: .
        dockerfile: Dockerfile-backend
    volumes:
        - ./backend:/backend
    depends_on:
        - db

Dockerfile-web выглядит так

FROM python
ADD web/requirements.txt /web/requirements.txt
ADD web/bower.json /web/bower.json
WORKDIR /web

RUN \
  wget https://nodejs.org/dist/v4.4.7/node-v4.4.7-linux-x64.tar.xz && \
  tar xJf node-*.tar.xz -C /usr/local --strip-components=1 && \
  rm -f node-*.tar.xz

RUN npm install -g bower
RUN bower install --allow-root

RUN pip install -r requirements.txt
RUN export MYFLASKAPP_SECRET='makethewebsite'

CMD python manage.py server

IP для моей докерной машины

IP-адрес докер-машины 192.168.99.100

Но когда я пытаюсь открыть http://192.168.99.100:5000/ в своем браузере, он просто говорит, что сайт не может быть достигнутым. Похоже, он отказывается от соединения.

Когда я пингую свою базу данных в браузере, я вижу, что ответ моей базы данных в журнале http://192.168.99.100:5432/

Итак, я попробовал wget внутри контейнера и получил

$ docker exec 3bb5246a0623 wget http://localhost:5000/
--2016-07-23 05:25:16--  http://localhost:5000/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:5000... failed: Connection refused.
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34771 (34K) [text/html]
Saving to: ‘index.html.1’

0K .......... .......... .......... ...                  100% 5.37M=0.006s

2016-07-23 05:25:16 (5.37 MB/s) - ‘index.html.1’ saved [34771/34771]

Кто-нибудь знает, как я могу заставить свое веб-приложение отображаться в моем браузере?



Ответы:


1

Мне пришлось включить внешнюю видимость для моего фляжного приложения. Вы можете увидеть это здесь Не удается подключиться к веб-службе Flask, соединение отклонено

23.07.2016
  • Не могли бы вы дать краткое изложение содержания по этой ссылке? Это было бы очень полезно для других пользователей. 23.07.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..