Как установить и использовать Docker в Arch Linux
Если вы работаете в ИТ-индустрии, велики шансы, что вы слышали о Docker, если только вы не живете в пещере или в удаленном регионе, полностью закрытом от остального мира. Docker — это технология контейнеризации с открытым исходным кодом, которая произвела революцию в разработке и развертывании приложений разработчиками. Это позволяет командам разработчиков создавать, управлять и развертывать приложения внутри контейнеров. Контейнер — это автономный готовый программный пакет, в который входят собственные библиотеки и зависимости. Контейнеры работают в полной изоляции от операционной системы хоста, а также друг от друга.
Докер предлагает огромные преимущества. До контейнеризации разработчики сталкивались с проблемами при написании и развертывании кода в различных версиях Linux. Приложение будет отлично работать в одной системе только для того, чтобы дать сбой в другой системе. Docker стандартизирует развертывание кода и гарантирует, что приложения могут беспрепятственно работать в различных вычислительных средах без проблем с зависимостями или ошибок. Кроме того, контейнеры способствуют огромной экономии на масштабе. Docker удобен в использовании, легок и достаточно эффективен.
В этом руководстве мы установим Docker в Arch Linux, а также узнаем, как использовать Docker для запуска контейнеров.
Предпосылки
- Экземпляр Arch Linux с доступом по SSH
- Пользователь sudo настроен
- Стабильное интернет-соединение
Шаг 1) Установите Docker в Arch Linux
Есть разные способы установки Docker. Вы можете установить стабильный пакет, размещенный в репозитории сообщества Arch, или установить его из AUR.
Однако мы собираемся установить Docker в Arch Linux из репозитория, используя показанную команду.
$ sudo pacman -S docker
Шаг 2) Управление Docker
Docker работает как служба демона, как и другие службы, такие как Apache или SSH. Это означает, что вы можете запускать, останавливать, перезапускать и включать службу Docker.
После завершения установки запустите докер и разрешите ему запускаться при загрузке, используя приведенные ниже команды.
$ sudo systemctl start docker $ sudo systemctl enable docker
Чтобы убедиться, что служба докеров запущена, введите команду:
$ sudo systemctl status docker
Приведенный ниже вывод ясно показывает, что Docker запущен и работает.
Чтобы остановить докер, вызовите команду:
$ sudo systemctl stop docker
Кроме того, вы можете подтвердить версию Docker, которую вы используете, с помощью показанной команды docker version.
$ sudo docker version
Как протестировать и использовать докер
Чтобы проверить, все ли работает должным образом, мы запустим следующую команду docker, чтобы развернуть контейнер hello-world.
$ sudo docker run hello-world
Когда команда вызывается, докер связывается с центром Docker и загружает образ докера под названием hello-world. Затем Docker создает новый контейнер, который запускает исполняемый скрипт, который передает сообщение Hello from Docker! ‘.
Чтобы загрузить или получить образ из Docker-хаба, не запуская его, используйте синтаксис:
$ sudo docker pull <image-name>
Например, чтобы получить изображение Nginx, запустите:
$ sudo docker pull nginx
Чтобы проверить изображения, находящиеся в вашей системе, вызовите:
$ sudo docker images
Из выходных данных вы можете видеть, что у нас есть два изображения: Nginx и изображение hello-world, которое было загружено ранее. Вывод предоставляет дополнительную информацию, такую как репозиторий, тег изображения, идентификатор изображения, дата изменения и размер изображения.
Чтобы запустить изображение, вызовите команду:
$ sudo docker run <image-name>
Однако запуск изображения напрямую может привести к тому, что терминал не отвечает, поскольку изображение обычно запускается на переднем плане. Поэтому рекомендуется запускать его в фоновом режиме с параметром -d.
Например, чтобы запустить изображение Nginx в фоновом режиме, выполните:
$ sudo docker run -d nginx
Чтобы подтвердить текущие запущенные контейнеры, введите команду:
$ sudo docker ps
Чтобы просмотреть все контейнеры, как запущенные, так и ранее остановленные, выполните:
$ sudo docker ps -a
Приведенный ниже вывод дает нам текущий контейнер Nginx и контейнер Hello-world, который мы запускали ранее.
Чтобы остановить контейнер, используйте команду docker stop, за которой следует идентификатор контейнера. Например, чтобы остановить контейнер Nginx, выполните:
$ sudo docker stop 968ff5caba7f
Некоторые контейнеры, созданные из образов ОС, могут потребовать некоторого взаимодействия с пользователем. Например, вы можете взаимодействовать с образом контейнера Ubuntu и обращаться к оболочке для выполнения команд. Для этого используйте флаг -it .
Чтобы лучше проиллюстрировать это, мы собираемся загрузить образ докера Ubuntu 20.04.
$ sudo docker pull ubuntu:20.04
Теперь мы собираемся получить доступ к оболочке и запустить команды внутри контейнера.
$ sudo docker run -it ubuntu:20.04
Иногда вам может потребоваться запустить контейнер веб-сервера и сопоставить его порт с хост-системой, чтобы достичь этого, используйте показанную опцию -p
$ sudo docker -p 8080:80 nginx
Порт 80 — это порт, который прослушивает контейнер Nginx, который отображается на порт 8080 на хосте. Вы можете проверить это, получив доступ к веб-серверу Nginx, используя IP-адрес хоста, как показано ниже:
http://host-ip:8080
Заключение
Docker, несомненно, является мощным и надежным инструментом, особенно в области DevOP. Он оптимизирует рабочий процесс и помогает разработчикам беспрепятственно создавать и развертывать свои приложения без несоответствий, которые возникают в разных вычислительных средах. Что касается использования команд Docker, мы почти не коснулись его. Для получения дополнительной документации перейдите к руководству для новичков . Кроме того, существует официальная документация, которая поможет вам ориентироваться в Docker.