Краткое содержание

В этом посте мы познакомили вас с докер-контейнерами и объяснили концепцию контейнеризации посредством иллюстрации концепций и практического примера. мы также рассмотрели настройку, создание и запуск docker-контейнеров и объяснили концепцию совместного запуска нескольких docker-контейнеров с помощью docker-compose.

В этом посте приведены ответы на Введение в Докер и Введение в контейнеризацию комната в TryHackMe.

Что такое контейнеризация

С точки зрения вычислений, контейнеризация — это процесс упаковки приложения и необходимых ресурсов (таких как библиотеки и пакеты) в один пакет, называемый контейнером. Процесс упаковки приложений вместе делает приложения значительно портативными и простыми в запуске.

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

  • Может быть сложно установить в зависимости от среды, в которой работает приложение (некоторые операционные системы могут даже не поддерживать их!)
  • Усложняйте разработчикам диагностику и воспроизведение ошибок, поскольку это может быть проблема со средой приложения, а не с самим приложением!
  • Могут часто конфликтовать друг с другом. Например, наличие нескольких версий Python для запуска разных приложений — головная боль для пользователя, и приложение может работать с одной версией Python, а не с другой.

Получить примечания к сертификату OSCP

Что такое Docker-контейнеры?

Docker — это относительно простая, обширная платформа контейнеризации с открытым исходным кодом. Экосистема Docker позволяет с легкостью развертывать, управлять и совместно использовать приложения (изображения – мы вернемся к этому позже).

Работа над Линукс, Windows и MacOS, Docker — разумный выбор для запуска приложений. Приложения можно публиковать в виде «изображений» и делиться ими с другими. Все что требуется — это вытащить (скачать) образ и запустить его с помощью Docker.

Docker использует ту же технологию, что и при контейнеризации, для изоляции приложений в контейнерах, называемую Docker Engine. Docker Engine — это, по сути, API, который работает в операционной системе хоста и обеспечивает связь между операционной системой и контейнерами для доступа к оборудованию системы (например, процессору, оперативной памяти, сети и диску).

По этой причине движок Docker обширен и позволяет делать такие вещи, как:

  1. Соедините контейнеры вместе (например, контейнер, в котором выполняется веб-приложение, и другой контейнер, в котором работает база данных).
  2. Экспорт и импорт приложений (изображений)
  3. Передача файлов между операционной системой и контейнером

Docker использует синтаксис программирования ЯМЛ чтобы позволить разработчикам указывать, как следует создавать контейнер и что запускать. Это важная причина, почему Docker настолько портативен и прост в отладке; поделитесь инструкциями, и они будут собраны и запущены на любом устройстве, поддерживающем Docker Engine.

Проблемы Ответы

Как называется функция ядра, которая позволяет процессам использовать ресурсы операционной системы, не имея возможности взаимодействовать с другими процессами?
В нормальный конфигурации, могут ли другие контейнеры взаимодействовать друг с другом? (да/нет)
Каким становится приложение, когда оно публикуется с помощью Docker? Формат: ххххх (вставьте x)

Какова аббревиатура языка синтаксиса программирования, который использует Docker?

В каком году был создан Docker?

Где впервые был представлен Docker?

В какой версии Unix впервые появились концепции контейнеризации?

Какую команду мы можем использовать для просмотра списка запущенных процессов?
Контейнеризируйте приложения на статическом сайте. Что такое флаг?
Если бы мы хотели тянуть образ докера, как будет выглядеть наша команда?

Если бы мы хотели вывести список всех изображений на устройстве с Docker, как бы выглядела наша команда?

Допустим, мы хотим получить изображение «tryhackme» (без кавычек); как будет выглядеть наша команда?

Допустим, мы хотели получить изображение «tryhackme» с тегом «1337» (без кавычек). Как будет выглядеть наша команда?

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

Примечание. Предположим, что мы не указываем здесь какое-либо изображение.

Как бы выглядела наша команда, если бы мы захотели запустить контейнер в «обособленный" режим?

Примечание. Предположим, что мы не указываем здесь какое-либо изображение.

Допустим, мы хотим запустить контейнер, который будет работать и привяжите веб-сервер к порту 80. Как будет выглядеть наша команда?

Примечание: Предположим, мы не указываем здесь какое-либо изображение.

Как бы мы перечислили все бег контейнеры?

Теперь, как бы мы перечислили все контейнеры (в том числе остановленные)?

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

Какую команду docker мы будем использовать для создания образа с помощью Dockerfile?

Допустим, мы хотим дать этому изображению имя; какой аргумент мы бы использовали?

я хочу использовать docker-compose  к запускать серия контейнеров. Какой аргумент позволяет мне это сделать?

я хочу использовать docker-compose  к удалить серия контейнеров. Какой аргумент позволяет мне это сделать?

Как называется файл .yml, который docker-compose использует?

Примечание: для этого вопроса вам нужно будет включить .yml расширение файла в вашем ответе

Что означает термин «ИПК»?
Какой технологии может соответствовать Docker Server?
Подключитесь к машине. Как называется контейнер, который работает в данный момент?

Используйте Docker для запуска веб-сервера с изображением «веб-сервера» (без кавычек). Вам нужно будет запустить контейнер с портом 80.

После запуска контейнера попробуйте подключиться к https://LAB_WEB_URL.p.thmlabs.com/ в вашем браузере. Что такое флаг?

Видео-прохождение

об авторе

Я создаю заметки по кибербезопасности, заметки по цифровому маркетингу и онлайн-курсы. Я также предоставляю консультации по цифровому маркетингу, включая, помимо прочего, SEO, Google и мета-рекламу, а также администрирование CRM.

Посмотреть статьи