От запуска контейнеров до их управления — все ключевые команды в одном месте. Сохраняйте, чтобы не потерять.
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
SQLQuestions - обновленный канал по SQL Задачкам.
Задачи и тесты по SQL + соревновательный момент с другими учениками.
Задачи и тесты по SQL + соревновательный момент с другими учениками.
Подборка книг по devops.
Скачивайте и читайте.
Философия DevOps. Искусство управления IT
Автор: Дженнифер Дэвис
Запускаем Ansible
Автор: Хохштейн Л.
Безопасность контейнеров
Автор: Лиз Райс
Terraform: инфраструктура на уровне кода
Автор: Евгений Брикман
Operations Anti-patterns, DevOps Solutions
Автор: Jeffery D. Smith
Kubernetes для DevOps
Автор: Джон Арундел
Ускоряйся! Наука DevOps
Автор: Николь Ф.
Python для сетевыхинженеров
Автор: Эрик Чоу
Continuous delivery. Практика непрерывных апдейтов
Автор: Вольф Эберхард
Руководство по DevOps
Автор: Джен Ким
Пишите ваши предложения по книгам - мы найдем и разместим.
Скачивайте и читайте.
Философия DevOps. Искусство управления IT
Автор: Дженнифер Дэвис
Запускаем Ansible
Автор: Хохштейн Л.
Безопасность контейнеров
Автор: Лиз Райс
Terraform: инфраструктура на уровне кода
Автор: Евгений Брикман
Operations Anti-patterns, DevOps Solutions
Автор: Jeffery D. Smith
Kubernetes для DevOps
Автор: Джон Арундел
Ускоряйся! Наука DevOps
Автор: Николь Ф.
Python для сетевыхинженеров
Автор: Эрик Чоу
Continuous delivery. Практика непрерывных апдейтов
Автор: Вольф Эберхард
Руководство по DevOps
Автор: Джен Ким
Пишите ваши предложения по книгам - мы найдем и разместим.
This media is not supported in your browser
VIEW IN TELEGRAM
🐬 Что такое Docker и зачем он нужен для веб сайтов? 🐬
Визуализация процесса работы с Docker 👇
Давайте разберем основные термины с помощью аналогии:
🔹 Dockerfile
— Представьте Dockerfile как рецепт или набор инструкций.
Вы начинаете с создания Dockerfile, который перечисляет все «ингредиенты» (программное обеспечение и конфигурации), необходимые для работы вашего приложения.
🔹 Docker Image
— Используя Dockerfile как рецепт, вы «готовите» или «собираете» Docker Image.
Этот образ — как замороженный снимок вашего приложения, содержащий все, что нужно для его запуска.
🔹 Docker Container
— После создания Docker Image вы можете «подать его на стол», создав Docker Container.
Контейнер — это как реальный работающий экземпляр вашего приложения. Его можно запускать, останавливать и даже клонировать по мере необходимости.
Вы можете запустить любое количество контейнеров на основе одного образа.
Наш Docker чатик 🐬
Давайте разберем основные термины с помощью аналогии:
— Представьте Dockerfile как рецепт или набор инструкций.
Вы начинаете с создания Dockerfile, который перечисляет все «ингредиенты» (программное обеспечение и конфигурации), необходимые для работы вашего приложения.
— Используя Dockerfile как рецепт, вы «готовите» или «собираете» Docker Image.
Этот образ — как замороженный снимок вашего приложения, содержащий все, что нужно для его запуска.
— После создания Docker Image вы можете «подать его на стол», создав Docker Container.
Контейнер — это как реальный работающий экземпляр вашего приложения. Его можно запускать, останавливать и даже клонировать по мере необходимости.
Вы можете запустить любое количество контейнеров на основе одного образа.
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
особенно если рядышком установлен docker
Docker представил экспериментальный AI-агент Gordon, предназначенный для упрощения и автоматизации работы с их инструментами. Эта разработка открывает новые возможности для как новичков, только начинающих работать с Docker, так и для профессионалов, стремящихся повысить свою эффективность.
Gordon — это часть инициативы Docker Labs по внедрению генеративного искусственного интеллекта. Его разработка отражает растущий интерес к интеграции AI в инструменты DevOps и открывает двери для новых возможностей.
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
девопс инженеры всё же решили проблему с помощью docker контейнеров
Запуск Visual Studio Code в Докере: зачем и как?
Docker — это мощный инструмент для создания изолированных окружений, а запуск Visual Studio Code в контейнере может существенно улучшить ваш рабочий процесс. Давайте разберём, зачем это нужно и как настроить VS Code для работы через Docker.
❓ Зачем запускать VS Code в Docker?
Контейнер с VS Code можно перенести на другой компьютер или сервер. Это особенно полезно, если вы работаете на разных машинах или хотите поделиться настроенным окружением с командой.
❓ Как настроить Visual Studio Code в Docker?
Для настройки можно использовать гайд из статьи. Вот краткое руководство:
1️⃣ Создание Dockerfile
Создайте файл Dockerfile со следующим содержимым:
2️⃣ Запуск контейнера
Запустите контейнер и откройте порт 8080 для доступа
3️⃣ Доступ к VS Code
Откройте браузер и перейдите по адресу http://localhost:8080. Здесь вы сможете работать в Visual Studio Code.
4️⃣ Сохранение данных (опционально) - чтобы изменения сохранялись, подключите локальную папку
А вы уже пробовали запускать VS Code в Docker? Делитесь своим опытом и задавайте вопросы в комментариях!
Наш Docker чатик 🐬
Docker — это мощный инструмент для создания изолированных окружений, а запуск Visual Studio Code в контейнере может существенно улучшить ваш рабочий процесс. Давайте разберём, зачем это нужно и как настроить VS Code для работы через Docker.
Контейнер с VS Code можно перенести на другой компьютер или сервер. Это особенно полезно, если вы работаете на разных машинах или хотите поделиться настроенным окружением с командой.
Для настройки можно использовать гайд из статьи. Вот краткое руководство:
Создайте файл Dockerfile со следующим содержимым:
FROM ubuntu:latest
# Install prerequisites
RUN apt-get update && apt-get install -y \
curl \
wget \
sudo \
build-essential
# Install Code-Server (VS Code in the browser)
RUN curl -fsSL https://code-server.dev/install.sh | sh
# Expose port for Code-Server
EXPOSE 8080
# Start Code-Server on container launch
CMD ["code-server", "--bind-addr", "0.0.0.0:8080", "--auth", "none"]
Запустите контейнер и откройте порт 8080 для доступа
Откройте браузер и перейдите по адресу http://localhost:8080. Здесь вы сможете работать в Visual Studio Code.
А вы уже пробовали запускать VS Code в Docker? Делитесь своим опытом и задавайте вопросы в комментариях!
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?
Docker базируется на технологиях:
А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.
Компоненты докера:
На
Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.
Docker базируется на технологиях:
🔸 namespaces
— обеспечивает изоляцию (например, можно айдишники процессов разместить в разных контейнерах)🔸 cgroups
— позволяет управлять группой процессов, и управлять их ресурсами
🔸 capabilities
— позволяет дать некоторые рут привелегии процессам или исполняемым файлам. Например, изменить UID процесса на 0, или дать возможность монтировать файловые системы.
🔸 overlay namespaces
— (overlayFS, overlay2-драйвер) - файловая система, которая умеет работать "слоями". Не сохранять каждый раз новые файлы, а наслаивать один слой на другой, тем самым экономя место на диске и время создания контейнера.А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.
Компоненты докера:
🔻 Docker Daemon
— тот самый Container Engine; запускает контейнеры.🔻 Docker CLI
— утилита по управлению Docker.🔻 Dockerfile
— инструкция по тому, как собирать образ.🔻 Image
— образ, из которого раскатывается контейнер.🔻 Container
🔻 Docker registry
— хранилище образов.На
Docker_host
работает Docker daemon и запускает контейнеры. Client
— передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon
ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.
▶️⚙️ Кроссплатформенные CI/CD-процессы с Docker
При разработке CI/CD-процессов возникает проблема несовместимости между разными платформами. Конфигурации, работающие в одной среде, могут некорректно работать в другой.
Docker решает эту проблему, создавая единое окружение, в котором можно запускать сборки и тестирование без зависимости от используемой CI/CD-системы.
Для быстрого старта можно использовать шаблон:
➡️ Подробное руководство доступно по ссылке
Наш Docker чатик 🐬
При разработке CI/CD-процессов возникает проблема несовместимости между разными платформами. Конфигурации, работающие в одной среде, могут некорректно работать в другой.
Docker решает эту проблему, создавая единое окружение, в котором можно запускать сборки и тестирование без зависимости от используемой CI/CD-системы.
Для быстрого старта можно использовать шаблон:
git clone https://github.com/mathio/awesome-action-starter.git my-action
cd my-action
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Как запустить Kubernetes на Docker Desktop за несколько шагов
Запуск Kubernetes на локальной машине стал ещё проще с помощью Docker Desktop. Этот процесс не требует облачной инфраструктуры и даёт возможность работать с контейнеризированными приложениями прямо на компьютере.
Наш Docker чатик 🐬
Шаги для настройки:
1️⃣ Установка Docker Desktop
2️⃣ Включение Kubernetes: в настройках Docker Desktop есть раздел для Kubernetes. Нужно просто активировать опцию Enable Kubernetes. Это позволяет подключить Kubernetes к Docker и использовать его на локальной машине.
3️⃣ Перезапуск Docker Desktop: после активации опции нужно применить изменения и перезапустить Docker Desktop. Это завершит настройку кластера Kubernetes.
4️⃣ Проверка работы кластера: чтобы убедиться, что кластер работает корректно, достаточно выполнить команду:
В ответ будет показана информация о текущем состоянии кластера.
⚡️ Начало работы с приложениями: после настройки кластера можно начать развертывать и управлять контейнерами с помощью Kubernetes, тестировать приложения и настраивать окружение для разработки.
Запуск Kubernetes на локальной машине стал ещё проще с помощью Docker Desktop. Этот процесс не требует облачной инфраструктуры и даёт возможность работать с контейнеризированными приложениями прямо на компьютере.
Наш Docker чатик 🐬
Шаги для настройки:
kubectl cluster-info
В ответ будет показана информация о текущем состоянии кластера.
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом репозитории вы найдете Dockerfile для 13 языков программирования
Для каждого образа Docker имеется свой Dockerfile, содержащий набор инструкций, необходимых для его создания. В этом файле указывается, что должно быть в образе, какие команды, зависимости и процессы он будет содержать.
➖ React
➖ NodeJS
➖ Python
➖ Golang
➖ Java Spring Boot
➖ Java Quarkus
➖ ASP.NET Core
➖ Ruby
➖ Rust
➖ PHP Laravel
➖ Dart
➖ R Studio
➖ Contact
👉 https://github.com/hoalongnatsu/Dockerfile
Наш Docker чатик 🐬
Для каждого образа Docker имеется свой Dockerfile, содержащий набор инструкций, необходимых для его создания. В этом файле указывается, что должно быть в образе, какие команды, зависимости и процессы он будет содержать.
➖ React
➖ NodeJS
➖ Python
➖ Golang
➖ Java Spring Boot
➖ Java Quarkus
➖ ASP.NET Core
➖ Ruby
➖ Rust
➖ PHP Laravel
➖ Dart
➖ R Studio
➖ Contact
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
моё первое знакомство с docker контейнерами
В блоге Docker появился новый гайд, который подробно объясняет, как контейнеризировать Django-приложение. Этот пошаговый туториал покажет вам:
Если вы хотите упростить развертывание Django-приложений и минимизировать проблемы с совместимостью окружений, этот гайд станет отличным подспорьем.
Наш Docker чатик 🐬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
docker exec -it mysql bash
exit
apt remove docker
This media is not supported in your browser
VIEW IN TELEGRAM
Насколько выросло использование Dockerfile в проектах за последние 10 лет?
История и приготовление Docker «для самых маленьких»
Если вы новичок в ИТ или DevOps, поверхностно знакомы с контейнеризацией и только начали осваивать Docker, то встречаемся 10 апреля в 19:00 на вебинаре «Управление контейнерами».
Что в программе?
▪️Эволюция ИТ-инфраструктуры от виртуализации к контейнеризации
▪️Архитектура Docker
▪️Какими бывают контейнеры
▪️Паттерны и антипаттерны dockerfile
▪️Инструменты управления
🔗 Регистрация
Если вы новичок в ИТ или DevOps, поверхностно знакомы с контейнеризацией и только начали осваивать Docker, то встречаемся 10 апреля в 19:00 на вебинаре «Управление контейнерами».
Что в программе?
▪️Эволюция ИТ-инфраструктуры от виртуализации к контейнеризации
▪️Архитектура Docker
▪️Какими бывают контейнеры
▪️Паттерны и антипаттерны dockerfile
▪️Инструменты управления
🔗 Регистрация
🐳 10 практик безопасности Docker
💈 Предпочитайте минимальные базовые образы
💈 Выбирайте наименее привилегированного пользователя. Просто так root не нужен.
💈 Подписывайте и проверяйте образы для предотвращения MITM-атак
💈 Поиск, исправление и мониторинг уязвимостей с открытым исходным кодом
💈 Не допускайте утечки конфиденциальной информации. Иногда при создании приложения внутри образа Docker вам нужны секреты, такие как закрытый ключ SSH, чтобы извлекать код из частного репозитория, или вам нужны токены для установки частных пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются на том уровне, на который они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться за пределами Dockerfile.
💈 Используйте фиксированные теги для неизменности
💈 Используйте COPY вместо ADD (рекурсивно копирует локальные файлы, неявно создает каталог назначения)
💈 Используйте метки метаданных
💈 Используйте многоступенчатую сборку для небольших и конфиденциальных образов docker. Эта функция позволяет вам использовать несколько временных образов в процессе сборки, сохраняя только последний образ вместе с информацией, которую вы скопировали в него.
💈 Используйте линтер, чтобы избежать распространенных ошибок и разработать рекомендации по наилучшей практике, которым инженеры могут следовать автоматически.
Вот тут подробно описаны все нюансы
#гайд
💈 Предпочитайте минимальные базовые образы
💈 Выбирайте наименее привилегированного пользователя. Просто так root не нужен.
💈 Подписывайте и проверяйте образы для предотвращения MITM-атак
💈 Поиск, исправление и мониторинг уязвимостей с открытым исходным кодом
💈 Не допускайте утечки конфиденциальной информации. Иногда при создании приложения внутри образа Docker вам нужны секреты, такие как закрытый ключ SSH, чтобы извлекать код из частного репозитория, или вам нужны токены для установки частных пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются на том уровне, на который они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться за пределами Dockerfile.
💈 Используйте фиксированные теги для неизменности
💈 Используйте COPY вместо ADD (рекурсивно копирует локальные файлы, неявно создает каталог назначения)
💈 Используйте метки метаданных
💈 Используйте многоступенчатую сборку для небольших и конфиденциальных образов docker. Эта функция позволяет вам использовать несколько временных образов в процессе сборки, сохраняя только последний образ вместе с информацией, которую вы скопировали в него.
💈 Используйте линтер, чтобы избежать распространенных ошибок и разработать рекомендации по наилучшей практике, которым инженеры могут следовать автоматически.
Вот тут подробно описаны все нюансы
#гайд