Другое

Освоение контейнера Docker для чайников: теоретическое и практическое руководство

Lorem ipsum dolor

Программа Docker не совсем для «чайников», но разобраться в ней несложно. В любом случае знать, для чего нужен Docker и как его правильно использовать, будет полезным. Неважно, в какой сфере разработки вы «крутитесь», потому что, если в вашем резюме будет написано: «Знаю, как работать с Docker» это будет для вас дополнительным бонусом.

Итак, сегодня будем разбирать, что такое Docker, чтобы понятно было для пользователей с разным багажом знаний.

Docker для чайников

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

Программа Docker была запущена не так давно — в 2013 году. Изначально она использовалась для внутренних целей ее разработчиков, но со временем все же «увидела свет» и стала популярным инструментом.

Для чего нужен Docker 

Docker нужен для облегченного запуска приложений. С применением этой программы нет нужды задумываться об адаптации запущенного приложения. Например, у вас есть 3 разноплановых приложения, созданных для операционной системы Linux, и вы хотите запустить их на устройстве под управлением Linux. Каждое отдельное приложение использует разные языки программирования, разную архитектуру и разный подход к своему запуску.

При стандартном подходе вам нужно будет позаботиться о том, чтобы на устройстве были инсталлированы языки программирования, на которых написаны приложения. Также нужно продумать алгоритм совместимости каждого отдельного приложения с Linux. Напрашивается одно решение — создать 3 отдельные виртуальные машины для 3-х разношерстных приложений. Это возможно, если конечное устройство «потянет» 3 виртуальные машины. Но согласитесь, что это довольно долгий процесс.

При помощи Docker процесс будет намного проще. Нужно установить программу и воспользоваться ее возможностями. Docker использует внутри себя контейнерную технологию. Каждый отдельный контейнер — это отдельная среда для запуска приложений. Контейнер — это изолированная среда, которая никак не влияет на другие контейнеры и операционную систему. В разных контейнерах можно запускать приложения с разными требованиями к запуску.

Главное отличие контейнеров от виртуальных машин — виртуальная машина виртуализирует «железо» полностью, а контейнер виртуализирует только операционную систему. Поэтому для запуска контейнеров требуется меньше системных ресурсов, чем для виртуальной машины, притом что для запуска приложений контейнера более чем достаточно. 

Программа Docker помогает взаимодействовать с контейнерами. Если провести аналогию из жизни, тогда Докер чем-то похож на игровую приставку «Денди». Была приставка, которая подключалась к черно-белым и цветным телевизорам. В эту приставку вставлялись картриджи с играми. Приставке было все равно, какая игра записана на картридже, главное, чтобы игра подходила к самой приставке. Докер по функциям напоминает игровую приставку, а картриджи — это контейнеры с приложениями.

Преимущества и недостатки Docker

Среди основных преимуществ программы Docker можно выделить следующие:

  1. На одном устройстве можно запустить множество различных приложений с разными требованиями к запуску.

  2. Оптимизированное использование мощности устройства. Один контейнер потребляет очень мало системных ресурсов, благодаря чему на устройстве размещают множество контейнеров.

  3. Повышенная безопасность. Каждый контейнер изолирован друг от друга и от операционной системы. Это значит, что если возникает проблема внутри одного контейнера, то она никогда не разрастется по всему устройству и никак не повлияет на работу других контейнеров или операционной системы.

  4. Более «дешевая» технология. По сравнению с виртуальными машинами, развернуть Docker и контейнеры будет «дешевле». Для большого количества виртуальных машин требуется более мощное устройство, чем для большого количества контейнеров.

Недостаток у Docker и контейнеров один, и он достаточно серьезный. Все разворачиваемые на одном Docker-устройстве приложения должны предъявлять одинаковые требования к операционной системе. То есть, если у вас есть несколько приложений для Линукс и одно для Виндовс, тогда приложение для Виндовс не сможет работать рядом с приложениями для Линукс. Для него потребуется другое устройство.

Docker для чайников: основная терминология

Начинающим пользователям Docker нужно хорошо разбираться в терминологии этой программы. Важные термины мы приведем в нашей статье:

  1. Images. Это образы приложений, которые запускаются в контейнерах.

  2. Containers. Это изолированное место, где запускаются приложения.

  3. Docker Daemon. Это сервис, который отвечает за взаимодействие с контейнерами.

  4. Docker Client. Это мини-программа, которая помогает пользователю взаимодействовать с Docker Daemon.

  5. Docker Hub. Это публичный реестр доступных образов приложений.

Docker: как пользоваться

Для того чтобы пользоваться Docker, нужно сначала его установить. Изначально Докер работал только в операционной системе Linux, однако уже долгое время доступен и для других ОС. Вы можете скачать Docker для собственной операционной системы с официального сайта программы.

После того как Docker будет установлен, вам пригодятся основные команды для взаимодействия с программой через консоль. Например:

  1. «docker create». Команда, при помощи которой создается новый контейнер в Докере. Например, мы хотим создать контейнер с использованием образа Ubuntu, тогда команда будет такой: «$ docker create ubuntu».

  2. «docker ps». При помощи этой команды можно просмотреть все контейнеры, запущенные на устройстве. Если нужно увидеть вообще все контейнеры, даже те, которые не запущены в данный момент, тогда в конце команды нужно добавить ключ «-а».

  3. «docker start <имя или ID контейнера>». Эта команда нужна, чтобы запустить ранее остановленный контейнер.

  4. «docker stop <имя или ID контейнера>». Эта команда нужна, чтобы остановить работу определенного контейнера.

  5. «docker restart <имя или ID контейнера>». Эта команда нужна, чтобы перезапустить работу определенного контейнера.

  6. «docker run <имя образа>». Эта команда создает контейнер и сразу его запускает.

  7. «docker rm <имя или ID контейнера>». Эта команда удаляет определенный контейнер.

  8. «docker images». При помощи этой команды можно посмотреть все образы, открытые на вашем устройстве.

  9. «docker rmi <имя или ID образа>». При помощи этой команды можно удалить определенный образ с устройства.

  10. И др.

Заключение

Возможности Docker достаточно большие, поэтому их невозможно описать в одной статье. Однако нашей сегодняшней статьи будет достаточно даже для «чайников», чтобы понять, для чего нужен Docker и как им пользоваться.

Контейнерное развертывание приложений существует уже давно, но только благодаря Docker эта технология приобрела настоящую популярность.

Схожие статьи

Другое

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

Другое

CI и CI+: в чём разница между этими технологиями защиты контента?

Биологический датчик случайных чисел: что это и как его построить
Другое

Биологический датчик случайных чисел: что это и как его построить

Язык Quipper — квантовое программирование с высокоуровневыми конструкциями
Другое

Язык Quipper — квантовое программирование с высокоуровневыми конструкциями