> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/ci/kak-sozdat-obraz.md).

# Как создать образ

Создание образа контейнера в Docker обычно выполняется через **Dockerfile** — текстовый файл с инструкциями для сборки образа.

***

#### **1. Создаём Dockerfile**

Пример для Python-приложения:

```dockerfile
# Базовый образ
FROM python:3.11

# Рабочая директория в контейнере
WORKDIR /app

# Копируем файл зависимостей и устанавливаем их
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Копируем весь код приложения
COPY . .

# Команда для запуска приложения
CMD ["python", "app.py"]
```

**Объяснение инструкций:**

* `FROM` — базовый образ (например, Python 3.11).
* `WORKDIR` — директория внутри контейнера.
* `COPY` — копирование файлов из локальной машины в контейнер.
* `RUN` — выполнение команды в процессе сборки (установка зависимостей).
* `CMD` — команда, которая будет выполняться при запуске контейнера.

***

#### **2. Сборка образа**

В терминале, в папке с Dockerfile:

```bash
docker build -t myapp:latest .
```

* `-t myapp:latest` — имя и тег образа (`latest` — тег по умолчанию).
* `.` — контекст сборки (текущая папка).

***

#### **3. Проверка созданного образа**

```bash
docker images
```

Вы увидите новый образ `myapp:latest` в списке.

***

#### **4. Запуск контейнера из образа**

```bash
docker run -d --name myapp_container myapp:latest
```

* `-d` — запуск в фоне.
* `--name` — имя контейнера.

***

Итог: **создать образ = написать Dockerfile + собрать командой `docker build`**.
