Временами работа с контейнерами может казаться чем-то непостижимым и удивительным. В хорошем смысле для тех, кто понимает как устроено внутри, и в ужасающем - для тех, кто этого не понимает.
Если вы уже Docker-гуру, то знаете, что контейнеры - это просто изолированные и ограниченные процессы Linux, что образы на самом деле не нужны для запуска контейнеров, и что, наоборот, для создания образа нам, возможно, потребуется запускать контейнеры.
Также неплохо бы разобраться с работой сети в контейнерах. Для этого в статье освещаются такие вопросы:
Параллельно в статье строится контейнерная сеть с одним хостом с нуля при помощи стандартных инструментов Linux.
В общем, отличная статья, рекомендую)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2🥰1
⚡️ ИИ-самоучитель Learn Anything - новый идеальный инструмент для освоения любых навыков.
Нейронная сеть преобразует абстрактные желания в структурированный учебный план, предоставляя статьи, руководства и видеоуроки.
▪Github
@DevOPSitsec
Нейронная сеть преобразует абстрактные желания в структурированный учебный план, предоставляя статьи, руководства и видеоуроки.
▪Github
@DevOPSitsec
👍9❤2🔥1😁1
Использование Docker не обязательно должно быть принципом «все или ничего». Вы можете использовать Docker для развертывания и создания образов для продакшн, но вам не обязательно использовать его в разработке.
Каждая инструкция в вашем Dockerfile приводит к созданию слоя изображения. Docker использует слои для повторного использования работы. Слои кэшируются и их не нужно пересобирать, если:
— Все предыдущие слои не изменяются.
— В случае инструкции
COPY: файлы/папки не изменяются.— В случае всех остальных инструкций: текст команды не изменяется.
Представьте, что у нас есть следующий фрагмент Dockerfile:
RUN mkdir /code
COPY code code/
RUN pip install code/requirements.txt
Каждый раз, когда что-либо в каталоге кода меняется, вторую строку необходимо запускать заново, а также каждую последующую строку.
Вот как мы могли бы избежать повторного запуска этапа установки при каждом изменении кода:
RUN mkdir /code
COPY code/requirements.txt code/
RUN pip install code/requirements.txt
COPY code /code
Во-первых, проверьте, не загружаете ли вы зависимости разработки, которые вообще не нужны вашему образу.
Ещё нужно помнить про поведение менеджера пакетов на уровне ОС. Например, `apt`который используется в Ubuntu и Debian, по умолчанию устанавливает «рекомендуемые» пакеты.
Вы можете избежать этого, добавив к
apt-get install флаг --no-install-recommendsBuildKit — это новый механизм сборки образов, который можно использовать вместо стандартного Docker. С ним вы получаете больше параллелизма и эффективности кэширования, плюс новые интересные функции
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3
Держите рекомендации по безопасной работе с образами и контейнерами
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
Ну и для того, что приложение предсказуемо работало и там, и там, мы используем Docker, конечно же.
Уверен, будет полезно, держите
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👎1
Полезная статья, рекомендую)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤1👀1
Деплой проводится с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения.
Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации, рекомендую)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍3❤🔥1🔥1
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Поднимают тему антипаттернов и плохих практик, дают полезные рекомендации.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥2
5 апреля 2024 года состоялся релиз первой мажорной версии инструментария для конфигурации сети Netplan, развивающего формат для хранения настроек сетевых интерфейсов и связанные с ним утилиты для управления сетевыми конфигурациями.
Решение Netplan обеспечивает хранение сетевых параметров в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5❤2
В качестве транспорта могут быть использованы
ssh, rsh или собственный протокол rsync. Поддерживается организация работы анонимных rsync-серверов, оптимально подходящих для обеспечения синхронизации зеркал. Исходный код проекта распространяется под лицензией GPLv3.samba и rsync, а также Пол Маккеррас (Paul Mackerras), один из первых разработчиков rsync, принимавших в 1996 году участие в создании протокола rsync.@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥5👍2