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

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

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

Растущие расходы на хранение данных и проблемы с несовместимостью ПО становятся всё более актуальными для крупных компаний. На вебинаре 11 ноября в 12:00 Deckhouse и YADRO расскажут, как можно эффективно оптимизировать вашу ИТ-инфраструктуру.

Вы узнаете:
— с какими вызовами сталкиваются инфраструктуры хранения данных;
— как решения от Deckhouse и YADRO помогают управлять большими данными, снижают операционные затраты и повышают отказоустойчивость;
— каким образом вы сможете создать гибкую среду для управления данными;
— как возможна интеграция технологий хранения данных в контейнерные среды без необходимости изменять архитектуру существующих приложений.


Приходите, мы покажем рабочие инструменты для решения ключевых задач вашей цифровой-инфраструктуры! 

Зарегистрироваться
11 ноября в 12:00

🎁 Среди участников вебинара разыграем наборы памятного мерча от YADRO, а также подарим промокод на обучение в Deckhouse Академии.
👍1🔥1💩1
Сведения о том, как собирать образ Docker, записаны в файле…
Anonymous Quiz
7%
dockerimage
1%
Jenkinsfile
81%
Dockerfile
12%
docker-compose
4💩2
🚩Pattern Gury. Шаблоны проектирования - канал, который поможет прокачать архитектурное мышление.

Простым языком разбираем:
🟠 Как работает Singleton и где его лучше не трогать
🟠 Зачем нужен Decorator, и как его написать самому
🟠 Что такое шаблоны проектирования и как они делают код чище
🟠 Что скрывается за терминами "Best Practices", SOLID, KISS и DRY

Канал поможет:
🟣 Уверенно проходить собеседования
🟣 Понимать архитектуру, а не просто копировать код

🗂 Подписывайся: @highloadmicro
Please open Telegram to view this post
VIEW IN TELEGRAM
💩2
🚀 13 Docker‑трюков с примерами и пояснениями

1\\. Multi\\-stage builds

FROM golang:1.22 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp .
FROM alpine:3.20
COPY --from=builder /app/myapp /usr/local/bin/
ENTRYPOINT ["myapp"]

Минимизирует размер и зависимости контейнера.

2\\. Squash layers

docker build --squash -t myapp:latest .

Сжимает слои в один.

3\\. BuildKit secrets

RUN --mount=type=secret,id=token git clone git@github.com:corp/private.git

Безопасное использование ключей.

4\\. .dockerignore

node_modules
*.md

Ускоряет сборку.

5\\. HEALTHCHECK

HEALTHCHECK CMD curl -f http://localhost/healthz || exit 1

Контейнер сам сообщает, что он еще жив.

6\\. CLI --format

docker ps --format '{{.Names}}\t{{.Status}}'

Удобный вывод для скриптов.

7\\. Оптимизация Dockerfile

COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .

Стабильные шаги выше — быстрее кеш.

8\\. Лимиты ресурсов

docker run --cpus=1 --memory=512m app

Ограничивает потребление ресурсов.

9\\. docker events

docker events --filter type=container --filter event=start

Реагируйте на события демона.

10\\. Read-only

docker run --read-only --tmpfs /tmp app

Файловая система только для чтения.

11\\. docker system prune

docker system prune -a --volumes

Удаляет всё ненужное.

12\\. ENTRYPOINT override

docker run --entrypoint /bin/sh -it app

Отладка падающих контейнеров.

13\\. Docker contexts

docker context create prod --docker "host=ssh://user@host"
docker context use prod

Быстрое переключение между окружениями.

📌 Подробнее

@Docker
🫡9🤡31🔥1🍾1
«Штурвал 2.12»: кластер K8s за 15 минут

2 декабря в 11:00: next-next-next инсталляция кластера из GUI: ребята из «Лаборатории Числитель» покажут новый релиз «Штурвал 2.12».

В программе:

◾️развёртывание «Штурвала» с нуля с новым инсталлятором;

◾️обзор основных изменений: новый инсталлятор, обновленный UI создания кластера, развёртывание на OpenStack с нативными балансерами и Let's Encrypt, поддержка Cinder CSI и Ubuntu 24.04.

Для кого вебинар: DevOps-инженеров и архитекторов, разработчиков, специалистов служб эксплуатации.

Зарегистрироваться
🔥1💩1
Команды докера

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

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

Пишите ваши варианты в комментариях к посту, а ответ будет скоро на канале.
Ответ:
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