Add funny README
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Создание собственных Docker образов
|
||||
|
||||

|
||||
|
||||
## Приложение на Python
|
||||
В данном репозитории было написано небольшое веб приложение на базе языка программирования **Python3.10** и фреймворка **FastAPI**.
|
||||
Приложение считывает json файл `dataset.json`, в котором находится список русскоязычных анекдотов и шуток. При получении GET запроса от клиента по эндпоинту `/get_joke`, программа случайным образом выбирает из списка шутку и возвращает клиенту в формате `{"joke": "Русалка села на шпагат"}`.
|
||||
Запуск Python приложение, осуществляется через функционал FastAPI, а именно через:
|
||||
```bash
|
||||
fastapi run main.py
|
||||
```
|
||||
|
||||
## Dockerfile
|
||||
**Dockerfile** — это текстовый файл с набором инструкций для автоматической сборки **Docker-образов**. В нем описываются шаги по созданию среды для приложения: выбор базового образа, установка зависимостей, копирование файлов, настройка переменных окружения и запуск команд.
|
||||
В данном проекте `Dockerfile` имеет следующий вид:
|
||||
```Dockerfile
|
||||
FROM python:3.10-alpine # За основу Docker образа берется готовый образ с предустановленным python3.10 и ОС Alpine
|
||||
|
||||
WORKDIR /app # Определяем рабочую папку приложения. Если её ранее не существовало, то она будет создана, и будет определена как текущая
|
||||
|
||||
COPY ./app . # Копируем всё содержимое папки /app репозитория и перемещаем в текущую папку внутри образа (т.е. внутрь папки /app, что мы определили выше)
|
||||
|
||||
RUN python3 -m venv venv # Создаем виртуально окружение
|
||||
RUN source venv/bin/activate # Активируем виртуальное окружение
|
||||
RUN pip3 install -r requirements.txt # Устанавливаем все зависимости
|
||||
RUN pip3 install "fastapi[all]"
|
||||
|
||||
EXPOSE 8000 # Открываем порт 8000 для работы веб-приложения
|
||||
|
||||
CMD ["fastapi", "run", "--port", "8000", "main.py"] # Запускаем веб-приложение
|
||||
```
|
||||
|
||||
## Сборка Docker образа
|
||||
Для сборки Docker образа необходимо выполнить команду:
|
||||
```bash
|
||||
sudo docker build -t (название_образа) .
|
||||
```
|
||||
|
||||
Образ начнёт собираться, и по завершению всех инструкций, вам необходимо будет лишь запустить готовый Docker образ:
|
||||
```bash
|
||||
sudo docker run --rm --network host (название_образа)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user