Другое

Освоение контейнера 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 эта технология приобрела настоящую популярность.

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

Полная статистика угроз информационной безопасности в одной статье
Другое

Полная статистика угроз информационной безопасности в одной статье

Pandas Python: описание одной из популярных библиотек для Питона
Другое

Pandas Python: описание одной из популярных библиотек для Питона

Разработчик высоконагруженных систем: профессия будущего или нет?
Другое

Разработчик высоконагруженных систем: профессия будущего или нет?

Что такое передвижение персонажа в Unity 3D и как его реализовать
Другое

Что такое передвижение персонажа в Unity 3D и как его реализовать