Docker простыми словами
6.28K subscribers
219 photos
28 videos
3 files
123 links
Сообщество по докеру.

Рассказываем про docker и его применение в программировании и тестировании.

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
Команды докера

Какая команда останавливает работающий контейнер, позволяет завершить выполнение контейнера и отключить его?

#вопросответ #команды

Пишите ваши варианты в комментариях к посту, а ответ будет скоро на канале.
Ответ:
docker stop


Примеры использования:

Остановка одного работающего контейнера:

docker stop mycontainer


Остановка нескольких:

docker stop first_container second_container third_container


Остановка по времени (в данном примере — через 30 секунд):

docker stop -t 30 mycontainer


#вопросответ #команды

Обсудить команды можно в нашем уютном докер чатике 🐬
6👍3
🚀 Docker + Python pro tip

Если вы запускаете Python-приложения в Docker, ускорить их можно с помощью многоступенчатой сборки.
Это позволяет собирать зависимости отдельно и не тащить весь мусор в финальный образ.


# Этап сборки зависимостей
FROM python:3.12-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --user -r requirements.txt

# Финальный минимальный образ
FROM python:3.12-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .

ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]


💡 Такой подход уменьшает размер образа и ускоряет деплой.
Вместо гигабайт вы получаете лёгкий production-контейнер с только нужным кодом и либами.
🔥7
Вопрос на собеседовании.

Как определить состояние контейнера Docker?


Чтобы определить состояние, надо запустить команду:

docker ps -a


Эта команда выведет список всех доступных контейнеров с их состоянием на сервере. Из этого списка нужно выбрать требуемый контейнер и узнать его состояние.


Обсудить можно в нашем уютном докер чатике 🐬

#собеседование
🤔21👍1
🖥 Минимальный и безопасный Dockerfile для Python-приложения.

В основе - python:3.11-slim, установка только нужных пакетов, удаление apt-кэша, отдельный системный пользователь без root-прав, изоляция рабочего каталога и установка зависимостей под ненадёжным пользователем.

Такой контейнер легче, безопаснее и запускается быстрее.

Отличная база для продакшена.

Переход на non-root пользователя резко снижает возможный ущерб, ограничивает доступ к файлам и заставляет держать порядок с правами и владением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 csvlens — это инструмент командной строки для удобного просмотра и анализа CSV-файлов в терминале!

🌟 Он позволяет фильтровать, сортировать и форматировать данные с высокой производительностью, поддерживает различные кодировки и работает без предварительной загрузки всего файла в память.

🔐 Лицензия: MIT

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Docker in Practice

Автор: Ian Miell
Год издания: 2019

#docker #en #книга

Скачать книгу
2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 КАК Docker РАБОТАЕТ ПОД КАПОТОМ

Большинство думает, что Docker - это «виртуалка, но легче». На самом деле Docker почти не виртуализирует ничего: он использует механизмы ядра Linux - namespaces, cgroups и overlay-файловые системы — чтобы создать иллюзию отдельной машины.

Контейнер - это просто обычный процесс, но ядро заставляет его видеть *свой собственный мир*: свою сеть, свои процессы, свою файловую систему, свои лимиты.
Docker лишь склеивает эти механизмы в удобный инструмент и автоматизирует запуск изолированных процессов.




# Посмотреть namespaces текущего процесса
lsns

# Создать процесс в новом IPC, PID и UTS namespace
unshare --ipc --pid --uts bash

# Проверить ограничение CPU cgroups
cat /sys/fs/cgroup/cpu.max

# Посмотреть mount-слои overlayfs контейнера
find /var/lib/docker/overlay2 -maxdepth 2 -type d
3👍3🔥3