В настоящее время я работаю с Docker и простым веб-сайтом Flask, на который я хочу отправлять изображения. Для этого я работаю на порту 8080, но отображение от докера к хосту не работает должным образом, так как я не могу подключиться. Может ли кто-нибудь объяснить мне, что я делаю не так?
docker-compose.yml
version: "2.3"
services:
dev:
container_name: xvision-dev
build:
context: ./
dockerfile: docker/dev.dockerfile
working_dir: /app
volumes:
- .:/app
- /path/to/images:/app/images
ports:
- "127.0.0.1:8080:8080"
- "8080"
- "8080:8080"
dev.dockerfile
FROM tensorflow/tensorflow:latest
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt
RUN apt update && apt install -y python-tk
EXPOSE 8080
CMD ["python", "-u", "app.py"]
app.py
@APP.route('/test', methods=['GET'])
def hello():
return "Hello world!"
def main():
"""Start the script"""
APP.json_encoder = Float32Encoder
APP.run(host="127.0.0.1", port=os.getenv('PORT', 8080))
Я запускаю свой докер с docker-compose up
, это выдает: Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
.
Но когда я делаю запрос get на 127.0.0.1:8080/test, я получаю, что ответа нет.
Я также пытался docker-compose run --service-port dev
, как некоторые люди предлагали в Интернете, но это говорит о том, что нет сервисного разработчика.
Может ли кто-нибудь помочь мне за то, что я делаю неправильно?