У меня есть файл docker-compose с двумя службами: app
и httpd
app
app:
image: primus852/machinelearning:latest
ports:
- 5001:5000
expose:
- "5001"
restart: always
networks:
- default
volumes:
- ./api:/app
environment:
- FLASK_APP=app/source/__init__.py
- FLASK_ENV=development
httpd
httpd:
image: primus852/mitswiki:latest
ports:
- 80:80
restart: always
networks:
- default
volumes:
- ./project:/var/www/html
Приложение Flask
У контейнера app
есть конечная точка, подобная этой:
@app.route('/predict', methods=['GET'])
def predict():
...DO STH....
Я могу открыть http://localhost:5001/predict
в своем браузере, работает ... Я могу свернуться с моего cmd
: curl localhost:5001/predict
, работает ...
Но когда я нахожусь внутри моего httpd
контейнера, это не работает с консоли: curl localhost:5001/predict
curl: (7) Не удалось подключитьсяк локальному порту 5001: Отказано в соединении
Так что я решил обратиться к контейнеру app
так же, как и к моему mysql из моего контейнера httpd
: curl app:5001/predict
, но результат тот же.
Кто-нибудь может увидеть, что я делаю не так?