Все для python разработчиков
админ - @haarrp
@python_job_interview - Python собеседования
@ai_machinelearning_big_data - машинное обучение
@itchannels_telegram - 🔥лучшие ит-каналы
@programming_books_it - it книги
@pythonl
РКН: clck.ru/3Fmy2j
Post #2025
1.5K
🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ
Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».
Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений.
Правильный подход - сначала контейнерная база, потом разработка.
Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.
Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.
Docker - это фундамент проекта, а не финальный штрих.
- https://www.youtube.com/shorts/1q4ceKg1wAA
Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».
Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений.
Правильный подход - сначала контейнерная база, потом разработка.
Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.
Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.
Docker - это фундамент проекта, а не финальный штрих.
Dockerfile (база для Python-проекта)
FROM python:3.12-slim
WORKDIR /app
Сначала зависимости — кеш будет работать правильно
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
Потом код
COPY . .
EXPOSE 8000
HEALTHCHECK CMD curl --fail http://localhost:8000/health
|| exit 1
CMD ["python", "app.py"]
.dockerignore
.git
pycache
venv
node_modules
*.log
docker-compose.yml
version: "3.9"
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env
- https://www.youtube.com/shorts/1q4ceKg1wAA
- 👍 4
- 🔥 3
- ❤ 1
- 😁 1










