Создаем и переходим в директорию где будет храниться наше приложение.
mkdir flask
cd flask
Установка утилиты виртуального окружения.
sudo apt install -y python3-virtualenv
Создание виртуального окружения.
virtualenv venv
Активация окружения.
source venv/bin/activate
#Деактивация.
#deactivate .
Устанавливаем фреймворк.
pip3 install Flask
Создаем файл с зависимостями.
pip3 freeze > requirements.txt
Создаем файл с простым приложением.
touch app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
if __name__ == '__main__':
app.run(debug=True)
Проверить локально.
python3 -m flask run
Создаем файл для сборки образа.
Dockerfile.
FROM python:3
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 5000
CMD [ "python", "-m" , "flask", "run", "--host=0.0.0.0"]
Содержание проекта должно иметь вид.
python-docker
|____ app.py
|____ requirements.txt
|____ Dockerfile
Собираем образ.
docker build -t my-python-app .
Запускаем контейнер.
docker run -d -p 5000:5000 --rm --name my-running-app my-python-app