В этой статье будет показана установка, настройка, а также проведен обзор основных возможностей Docker.
Docker — это приложение, позволяющие создавать, изменять и управлять контейнерами. Контейнеры позволяют запускать определенные элементы систем внутри отдельных приложений, почти как виртуальные машины, но куда более гибко и в большинстве случаев используя ядро самой системы для запуска приложений.
Используя Docker, мы можем просто запустить несколько приложений, отделенных от вашей системы и друг от друга, тем самым упростив управление ими, а также понизив риски для основной системы. Например, нам необходимо запустить несколько веб-серверов. Однако, очень часто они конфликтуют друг с другом,. Но используя Docker, мы поместим их в контейнеры, и они спокойно будут уживаться между собой.
В статье будет использована последняя версия Ubuntu 20.04. Очень рекомендуется использовать это ПО именно на Linux, ведь тогда нам не нужна виртуализация для запуска Linux-контейнеров, они будут использовать ядро нашей системы.
Содержание:
- Установка Docker на Linux
- Использование Docker
- Установка и запуск веб приложения в Docker
- Управление контейнерами
- Выводы
Установка Docker на Linux
В зависимости от вашего дистрибутива, нужно использовать ваш пакетный менеджер. В нашем примере используется Ubuntu, потому пакетным менеджером будет apt.
Сперва нам необходимо узнать пакетный менеджер своего дистрибутива:
- Debian, Ubuntu и основанные на них дистрибутивы — apt
- CentOS, Red Hat, Fedora — rpm
- ARCH Linux — pacman
- OpenSUSE и SUSE Linux — zypper
Далее необходимо запустить терминал в Linux и обновить список доступных пакетов, используя пакетный менеджер apt. Для этого необходимо ввести команду:
Устанавливаем Docker используя команду нашего пакетного менеджера:
Теперь проверим правильность установки, выведя версию установленного программного обеспечения:
Использование Docker
Теперь давайте запустим первый контейнер:
Эта команда запустит самый простой контейнер hello-world. Сначала Docker увидит, что у нас нет локального образа с таким названием и загрузит его с Docker Hub, а затем запустит загруженный образ в виде контейнера на вашей системе. После чего контейнер выведет нам приветствие и завершит свою работу.
Чтобы просмотреть список всех загруженных образов можно использовать команду:
Как мы видим, тут отображен только загруженный ранее образ hello-world.
Чтобы искать образы для загрузки, можно использовать команду:
Чтобы загрузить образ без его запуска, можно использовать команду:
Установка и запуск веб приложения в Docker
Теперь давайте загрузим еще один образ и запустим простое веб приложение в Docker. Использовать будем образ yeasy/simple-web с Docker Hub.
Флаг -i необходим, чтобы контейнер запустился в интерактивном режиме.
Флаг -t необходим для переноса ввода и вывода в контейнер, то есть если мы используем флаг -t для запуска контейнера, то окажемся внутри него.
Флаг -p создает проброс портов между нашим устройством и контейнером. Это необходимо для доступа к сети контейнера. В нашем случае для доступа к 80 порту внутри контейнера необходимо обратиться к 8080 порту на нашем устройстве.
Теперь мы можем открыть браузер на нашей системе и отправить запрос на веб сервер внутри работающего контейнера:
Теперь, если вы нажмете CTRL + C для выхода из контейнера, он завершит свою работу, потому откройте новое окно терминала для дальнейшей работы. Если вы хотите выполнять контейнер в фоновом режиме без ввода и вывода, используйте флаг -d.
Управление контейнерами
Теперь давайте посмотрим какие у нас сейчас есть контейнеры, для этого используют команду:
Тут отображаются все созданные вами контейнеры как работающие так и нет, потому тут есть и наш контейнер hello-world и работающий контейнер с веб приложением.
Также тут есть много полезной дополнительной информации вроде портов, времени, статуса работы, и т. д.
Для управления контейнерами нам нужен или id контейнера или его имя. Для задания имени контейнера при его создании необходимо использовать флаг —name.
Давайте остановим запущенный нами контейнер с веб-приложением:
Чтобы снова его запустить, используем команду:
Ну и наконец удаление контейнера:
Не забудьте перед удалением остановить контейнер:
Выводы
Как видно из данной статьи, использовать эту полезную программу совсем несложно. Нужно просто знать основные команды.
Если вам недостаточно огромного числа образов из Docker Hub, вы всегда можете создавать свои образы, используя Dockerfile. И даже свободно размещать их на том же ресурсе.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.