Я пытаюсь создать контейнер Docker, чтобы иметь возможность создать графический интерфейс с Flask для использования модели тензорного потока.Дело в том, что я хотел бы иметь возможность изменять мои файлы Python в режиме реального времени, и мне не нужно каждый раз перестраивать свой контейнер.
Итак, на данный момент я создал 3 файла:
требование.txt
Flask
tensorflow
keras
Dockerfile
# Use an official Python runtime as a parent image
FROM python:3.5.6-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python3", "app.py"]
app.py
from flask import Flask
import os
import socket
app = Flask(__name__)
@app.route("/")
def test():
html = "<h3>Hello {name}!</h3>" \
"<b>Hostname:</b> {hostname}<br/>"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname())
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
Поэтому после всего этого я создаю свой контейнер с помощью этой команды
docker build -t modelgui .
Конец, затем я использую эту команду для запуска своего контейнера и создания связи между файлом приложения, который я хочу изменить на хосте, и файлом в контейнере
docker run -p 4000:80 -v /home/Documents/modelGUI:/app modelgui
Но я получаю эту ошибку, и ядействительно не знаю, почему
/usr/local/bin/python3: can't find '__main__' module in 'app.py'
Моя проблема может быть глупой, но я действительно застрял здесь.