Ответ
Для копирования локальных файлов и директорий в Docker-образ используются инструкции `COPY` и `ADD` в `Dockerfile`.
Инструкция `COPY` является предпочтительной в большинстве случаев из-за своей предсказуемости и прозрачности.
**Пример с `COPY`:**
```dockerfile
# Указываем базовый образ
FROM python:3.9-slim
# Устанавливаем рабочую директорию внутри контейнера
WORKDIR /app
# Копируем содержимое локальной директории ./src
# в рабочую директорию /app контейнера
COPY ./src /app
# Копируем отдельный файл
COPY requirements.txt .
CMD ["python", "main.py"]
```
### Разница между `COPY` и `ADD`
| Инструкция | Возможности |
| :--- | :--- |
| **`COPY`** | Копирует файлы и директории из контекста сборки в файловую систему образа. |
| **`ADD`** | Делает то же, что и `COPY`, но дополнительно умеет:
- Скачивать файлы по URL.
- Автоматически распаковывать локальные `.tar` архивы.