(У меня проблема с раскрытием порта, но он недоступен.)
В моем случае у меня есть 2 контейнера в одной сети.Одним из них является Alpine Python с приложением Python Flask.Другой - это Ubuntu 18.04.Службы инициализируются в основном так:
docker-compose.yml :
version: '3'
services:
pythonflask:
build: someDockerfile # from python:3.6-alpine
restart: unless-stopped
ubuntucontainer:
build: someOtherDockerfile #from ubuntu:18.04
depends_on:
- pythonflask
restart: unless-stopped
Приложение Python Flask работает на порту 5000. Обратите внимание на отсутствие expose: - 5000
в файле docker-compose.yml .Проблема в том, что я могу получить правильный ответ, когда cURLing http://pythonflask:5000 изнутри ubuntucontainer
Шаги:
$ docker exec -it ubuntucontainer /bin/bash
... и затем внутриконтейнер ...
root@ubuntucontainer:/# curl http://pythonflask:5000/
... правильно возвращает мой ответ из приложения Flask.
Однако с моего компьютера, на котором запущен Docker:
$ curl http://localhost:5000/
Невернуть что-нибудь (как и ожидалось).
Когда я тестирую разные порты, они автоматически выставляются каждый раз.Что это делает?