Расскажите о рабочем процессе использования Docker
Краткое пояснение рабочего процесса с использованием Docker:
✍🏻 Все начинается c Dockerfile, поскольку это исходный код образа.
✍🏻 Как только он создан, его можно использовать для сборки образа контейнера. Образ — собранная версия Dockerfile.
✍🏻 Образ можно распространять, используя Registry, работающий как репозиторий образов.
✍🏻 Далее образ используется для запуска контейнеров. Контейнер при работе весьма похож на виртуальную машину, но без гипервизора.
Краткое пояснение рабочего процесса с использованием Docker:
✍🏻 Все начинается c Dockerfile, поскольку это исходный код образа.
✍🏻 Как только он создан, его можно использовать для сборки образа контейнера. Образ — собранная версия Dockerfile.
✍🏻 Образ можно распространять, используя Registry, работающий как репозиторий образов.
✍🏻 Далее образ используется для запуска контейнеров. Контейнер при работе весьма похож на виртуальную машину, но без гипервизора.
Опишите процесс масштабирования контейнеров Docker
Контейнеры могут быть масштабированы с использованием команды docker-compose scale. Процесс масштабирования такой — масштабируем контейнер и запускаем n экземпляров:
$ docker-compose --file docker-compose-run-srvr.yml scale =
В вышеприведенном примере имя сервиса задается в файле docker-compose-run-srvr.yml, а также запускается n копий контейнеров, где n — любое целое положительное число.
После масштабирования контейнера для проверки можно использовать такую команду:
$ docker ps -a
Контейнеры могут быть масштабированы с использованием команды docker-compose scale. Процесс масштабирования такой — масштабируем контейнер и запускаем n экземпляров:
$ docker-compose --file docker-compose-run-srvr.yml scale =
В вышеприведенном примере имя сервиса задается в файле docker-compose-run-srvr.yml, а также запускается n копий контейнеров, где n — любое целое положительное число.
После масштабирования контейнера для проверки можно использовать такую команду:
$ docker ps -a
🔎 Что такое Elasticsearch и Elastic Stack
Elasticsearch — это поисковая система, работающая в режиме реального времени. Позволяет хранить и обрабатывать огромные объёмы данных. Она работает и у Netflix, и у GitHub, и у Amazon.
Освоить её не так уж сложно. Это видео — вступительная часть. Здесь вы узнаете про Elasticsearch, Elastic Stack и зачем это нужно.
Смотреть видео
Elasticsearch — это поисковая система, работающая в режиме реального времени. Позволяет хранить и обрабатывать огромные объёмы данных. Она работает и у Netflix, и у GitHub, и у Amazon.
Освоить её не так уж сложно. Это видео — вступительная часть. Здесь вы узнаете про Elasticsearch, Elastic Stack и зачем это нужно.
Смотреть видео
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Библиотека собеса по DevOps | вопросы с собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое CNM?
CNM или Container Network Model — описание, формально определяющее шаги, требуемые для предоставления сети контейнерам, где обслуживающая абстракция применяется для поддержки нескольких сетевых драйверов. CNM основан на трех компонентах: sandbox (песочница), оконечная точка и сеть.
CNM или Container Network Model — описание, формально определяющее шаги, требуемые для предоставления сети контейнерам, где обслуживающая абстракция применяется для поддержки нескольких сетевых драйверов. CNM основан на трех компонентах: sandbox (песочница), оконечная точка и сеть.
Поясните разницу между docker run и docker create
Основное различие между этими двумя командами заключается в том, что вторая создаст контейнер в остановленном состоянии. Кроме того, docker create может быть использована для сохранения и вывода идентификатора контейнера для последующего использования. Рекомендуется использовать docker run с опцией --cidfile FILENAME, чтобы избежать перезаписи файла при повторном запуске.
Основное различие между этими двумя командами заключается в том, что вторая создаст контейнер в остановленном состоянии. Кроме того, docker create может быть использована для сохранения и вывода идентификатора контейнера для последующего использования. Рекомендуется использовать docker run с опцией --cidfile FILENAME, чтобы избежать перезаписи файла при повторном запуске.
Опишите Registry подробнее
Docker Registry используется для сохранения образов Docker. Существует два общедоступных сервиса хранения: Docker Hub и Docker Cloud. Docker Hub является наиболее важной общедоступной системой хранения образов контейнеров, которую полностью поддерживают многие разработчики и другие участники сообщества.
Docker Registry используется для сохранения образов Docker. Существует два общедоступных сервиса хранения: Docker Hub и Docker Cloud. Docker Hub является наиболее важной общедоступной системой хранения образов контейнеров, которую полностью поддерживают многие разработчики и другие участники сообщества.
Опишите составные части архитектуры Docker
Основные составные части архитектуры Docker — это:
✍🏻 сервер, содержит сервис Docker, образы и контейнеры. Сервис связывается с Registry, образы — метаданные приложений, запускаемых в контейнерах Docker.
✍🏻 клиент, применяется для запуска различных действий на сервере Docker.
✍🏻 registry, используется для хранения образов. Есть публичные, доступные каждому, например, Docker Hub и Docker Cloud.
Основные составные части архитектуры Docker — это:
✍🏻 сервер, содержит сервис Docker, образы и контейнеры. Сервис связывается с Registry, образы — метаданные приложений, запускаемых в контейнерах Docker.
✍🏻 клиент, применяется для запуска различных действий на сервере Docker.
✍🏻 registry, используется для хранения образов. Есть публичные, доступные каждому, например, Docker Hub и Docker Cloud.
Расскажите кратко о жизненном цикле контейнера Docker
Жизненный цикл контейнера:
✍🏻 Создание контейнера
✍🏻 Работа контейнера
✍🏻 Приостановка контейнера
✍🏻 Возобновление работы контейнера
✍🏻 Запуск контейнера
✍🏻 Остановка контейнера
✍🏻 Перезапуск контейнера
✍🏻 Принудительная остановка контейнера
✍🏻 Удаление контейнера
Жизненный цикл контейнера:
✍🏻 Создание контейнера
✍🏻 Работа контейнера
✍🏻 Приостановка контейнера
✍🏻 Возобновление работы контейнера
✍🏻 Запуск контейнера
✍🏻 Остановка контейнера
✍🏻 Перезапуск контейнера
✍🏻 Принудительная остановка контейнера
✍🏻 Удаление контейнера
Назовите наиболее важные команды Docker
✍🏻 build, сборка образа для Docker
✍🏻 create, создание нового контейнера
✍🏻 kill. принудительная остановка контейнера
✍🏻 dockerd, запуск сервиса Docker
✍🏻 commit, создание нового образа из изменений в контейнере
✍🏻 build, сборка образа для Docker
✍🏻 create, создание нового контейнера
✍🏻 kill. принудительная остановка контейнера
✍🏻 dockerd, запуск сервиса Docker
✍🏻 commit, создание нового образа из изменений в контейнере
Какие сети доступны по умолчанию в Docker?
По умолчанию есть:
bridge, сеть, к которой подключаются контейнеры, если не указано иначе.
none, сетевой стек без наличия сетевого интерфейса в контейнере.
host, подключение к сетевому стеку сервера.
По умолчанию есть:
bridge, сеть, к которой подключаются контейнеры, если не указано иначе.
none, сетевой стек без наличия сетевого интерфейса в контейнере.
host, подключение к сетевому стеку сервера.
Terraform Backend. Какой лучше?
#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
В этой статье мы поделимся своим опытом миграции, расскажем о преимуществах микросервисов и роли Domain-Driven Design в этом процессе.
Читать статью
#гайд
В этой статье мы поделимся своим опытом миграции, расскажем о преимуществах микросервисов и роли Domain-Driven Design в этом процессе.
Читать статью
#гайд
Приведите необходимые шаги для развертывания докеризированного приложения, сохраненного в репозитории Git
Шаги, необходимые для развертывания приложения зависят от окружения, основной процесс развертывания будет таким:
✍🏻 Сборка приложения с использованием Docker build в каталоге с кодом приложения
✍🏻 Тестирование образа
✍🏻 Выгрузка образа в Registry
✍🏻 Уведомление удаленного сервера приложений, что он может скачать образ из Registry и запустить его
✍🏻 Перестановка порта в прокси HTTP(S)
✍🏻 Остановка старого контейнера
Шаги, необходимые для развертывания приложения зависят от окружения, основной процесс развертывания будет таким:
✍🏻 Сборка приложения с использованием Docker build в каталоге с кодом приложения
✍🏻 Тестирование образа
✍🏻 Выгрузка образа в Registry
✍🏻 Уведомление удаленного сервера приложений, что он может скачать образ из Registry и запустить его
✍🏻 Перестановка порта в прокси HTTP(S)
✍🏻 Остановка старого контейнера
Что такое виртуализация?
В момент появления понятия виртуализации, оно представляло собой метод логического разделения мейнфреймов для одновременной работы нескольких приложений. Однако с развитием технологий появилась возможность одновременной работы нескольких операционных систем на одном сервере x86, что значительно изменило смысл виртуализации.
В результате виртуализация позволяет запускать две различные операционные системы на одном устройстве. Первая операционная система может использоваться для административных целей, в то время как остальные гостевые операционные системы загружаются как обычно, включая инициализацию и загрузку ядра. Этот метод также обеспечивает повышенный уровень безопасности, так как гостевая операционная система не имеет полного доступа к управляющей (host) операционной системе, что помогает избежать возможных уязвимостей в безопасности.
Есть три типа виртуализации:
✍🏻 Паравиртуализация
✍🏻 Эмуляция
✍🏻 Контейнерная виртуализация
В момент появления понятия виртуализации, оно представляло собой метод логического разделения мейнфреймов для одновременной работы нескольких приложений. Однако с развитием технологий появилась возможность одновременной работы нескольких операционных систем на одном сервере x86, что значительно изменило смысл виртуализации.
В результате виртуализация позволяет запускать две различные операционные системы на одном устройстве. Первая операционная система может использоваться для административных целей, в то время как остальные гостевые операционные системы загружаются как обычно, включая инициализацию и загрузку ядра. Этот метод также обеспечивает повышенный уровень безопасности, так как гостевая операционная система не имеет полного доступа к управляющей (host) операционной системе, что помогает избежать возможных уязвимостей в безопасности.
Есть три типа виртуализации:
✍🏻 Паравиртуализация
✍🏻 Эмуляция
✍🏻 Контейнерная виртуализация
Что такое объекты Docker?
Под объектами понимают образы, сервисы и контейнеры.
Образы — шаблоны с инструкциями только для чтения для создания контейнеров.
Контейнеры — запущенные экземпляры образов.
Сервисы — можно запустить несколько контейнеров поверх нескольких сервисов Docker, работающих совместно как swarm.
Еще объектами можно назвать сети и тома.
Под объектами понимают образы, сервисы и контейнеры.
Образы — шаблоны с инструкциями только для чтения для создания контейнеров.
Контейнеры — запущенные экземпляры образов.
Сервисы — можно запустить несколько контейнеров поверх нескольких сервисов Docker, работающих совместно как swarm.
Еще объектами можно назвать сети и тома.
Можно ли использовать JSON вместо YAML в файле для docker-compose, если да — как?
Да, так можно сделать. Для этого нужно явно указать имя файла, например так:
docker-compose -f docker-compose.json up
Да, так можно сделать. Для этого нужно явно указать имя файла, например так:
docker-compose -f docker-compose.json up
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
В этой статье я расскажу, как оптимизировать сложную систему микросервисов через брокер сообщений, в данном случае RabbitMQ. Мы рассмотрим вариант решения проблемы высокой связанности между сервисами через переход на событийно-ориентированную архитектуру (EDA).
Читать статью
В этой статье я расскажу, как оптимизировать сложную систему микросервисов через брокер сообщений, в данном случае RabbitMQ. Мы рассмотрим вариант решения проблемы высокой связанности между сервисами через переход на событийно-ориентированную архитектуру (EDA).
Читать статью
Назовите продвинутые команды Docker
Наиболее важные из них:
docker -version: узнать установленную версию Docker;
docker ps: перечислить все запущенные контейнеры вместе с дополнительной информацией о них;
docker ps -a: перечислить все контейнеры, включая остановленные, вместе с дополнительной информацией о них;
docker exec: войти в контейнер и выполнить в нем команду;
docker build: собрать образ из Dockerfile;
docker rm: удалить контейнер с указанным идентификатором;
docker rmi: удалить образ с указанным идентификатором;
docker info: получить расширенную информацию об установленном Docker, например, сколько запущено контейнеров, образов, версию ядра, доступную оперативную память и т.п.;
docker cp: сохранить файл из контейнера в локальную систему;
docker history: показать историю образа с указанным именем.
Наиболее важные из них:
docker -version: узнать установленную версию Docker;
docker ps: перечислить все запущенные контейнеры вместе с дополнительной информацией о них;
docker ps -a: перечислить все контейнеры, включая остановленные, вместе с дополнительной информацией о них;
docker exec: войти в контейнер и выполнить в нем команду;
docker build: собрать образ из Dockerfile;
docker rm: удалить контейнер с указанным идентификатором;
docker rmi: удалить образ с указанным идентификатором;
docker info: получить расширенную информацию об установленном Docker, например, сколько запущено контейнеров, образов, версию ядра, доступную оперативную память и т.п.;
docker cp: сохранить файл из контейнера в локальную систему;
docker history: показать историю образа с указанным именем.
Расскажите о командах systemd для управления Docker
Для запуска Docker многие дистрибутивы Linux используют systemd. Для запуска сервисов используется команда systemctl. Если ее нет, следует использовать команду service.
$ sudo systemctl start docker
$ sudo service docker start
Чтобы добавить сервис в автозагрузку, либо убрать его:
$ sudo systemctl enable docker
$ sudo systemctl disable docker
Для проверки параметров запуска сервиса и их изменения:
$ sudo systemctl edit docker
Просмотра связанных с сервисом журналов:
$ journalctl -u docker
Для запуска Docker многие дистрибутивы Linux используют systemd. Для запуска сервисов используется команда systemctl. Если ее нет, следует использовать команду service.
$ sudo systemctl start docker
$ sudo service docker start
Чтобы добавить сервис в автозагрузку, либо убрать его:
$ sudo systemctl enable docker
$ sudo systemctl disable docker
Для проверки параметров запуска сервиса и их изменения:
$ sudo systemctl edit docker
Просмотра связанных с сервисом журналов:
$ journalctl -u docker