Этот учебник демонстрирует создание и развертывание простого приложения Flask с помощью Docker. Мы рассмотрим создание Dockerfile, создавая изображение, запустив контейнер и даже нажимаем изображение в Docker Hub. Для тех, кто не знаком с основами Docker, ознакомьтесь с этим предыдущим постом:
] ]давайте начнем с практического примера:
]настройка проекта:
index.py
Содержит это простое приложение Flask: # index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int("5000"), debug=True)
]
dockerfile
(без расширения) со следующим контентом: FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]
]
tedds.txt
в каталоге "flask-app": Flask==2.3.2
ваша структура каталогов теперь должна выглядеть так:
]flask-app/
├── Dockerfile
├── index.py
└── requirements.txt
]
Создание и запуск изображения Docker:
]docker build -t flask-app .
]
docker images
docker run --name my-flask-app -d -p 5000:5000 flask-app
]
docker ps -a
]
в вашем браузере или с использованием
curl :
]
curl http://127.0.0.1:5000
]
docker container rm -f my-flask-app
]
docker image rm -f flask-app
] , прежде чем отправиться в Docker Hub, создайте учетную запись, если у вас ее еще нет. Затем:
]отметьте изображение для Docker Hub (reply
omerbsezer]
docker tag flask-app omerbsezer/dev-to-flask-app:latest
docker push omerbsezer/dev-to-flask-app:latest
Заключение:
Этот практический пример демонстрирует полный рабочий процесс для контейрирования простого приложения Python с Docker. Для получения дополнительных учебных пособий Docker, AWS, Kubernetes, Linux, DevOps, Ansible, Machine Learning, Generative AI и SaaS -контента, перейдите по этим ссылкам: ]
]github
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3