Простой способ настроить Docker на Raspberry Pi

1656611170 prostoj sposob nastroit docker na raspberry pi

автор Райан Гордон

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

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

furVV9L-htV7JcYivVuH9OFp17YIHkfqzKeX

Да, вы правильно услышали! С помощью двух строк вы можете загрузить и установить Docker.

Установку Docker можно выполнить с помощью сценария bash, автоматизирующего всю установку. Docker предоставляет такой скрипт на get.docker.com . Первая команда будет потреблять этот URL, искать файл под названием get-docker.sh . Получив, мы просто запускаем сценарий. Две команды можно объединить вместе, чтобы создать такой оператор:

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Теперь у вас установлен Docker, и установка заняла всего две строки.

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

Одна небольшая проблема, однако, в том, что у вас могут возникнуть трудности с запуском команд Docker без sudo. Это можно исправить, но это займет несколько строчек.

Как настроить работу Docker без постоянного использования sudo

Я обнаружил это решение на AskUbuntu после столкновения с проблемой. Давайте сейчас это разберем.

Есть 3 шага:

  1. Добавьте группу Docker, если она еще не существует:
sudo groupadd docker

2. Добавьте подключенного пользователя «$USER» в группу докеров. Измените имя пользователя, чтобы оно соответствовало желаемому пользователю, если вы не хотите использовать текущего пользователя:

sudo gpasswd -a $USER docker

3. Отсюда у вас есть два варианта: либо выйти, а затем войти снова, либо запустить newgrp docker чтобы изменения вступили в силу.

Теперь вы можете запускать Docker без sudo. Чтобы проверить, попробуйте:

docker run hello-world

Если это сработало, вы должны увидеть отличное сообщение от Docker:

TAfV1RgUTurTJwxhQcKjGkMoNF6xbN7hxuek

Опять же, вся заслуга этого решения принадлежит этому замечательному ответу на AskUbuntu, который я нашел. Если не вводить sudo всё время, работать с командами будет гораздо легче.

Но подождите, есть еще!

Что делать, если вы хотите docker-compose? Вы можете попытаться установить источник docker-compose подобно тому, как мы установили Docker. Один интересный подход, который я нашел в документации Google Cloud Engines, состоит в том, что вы можете запустить docker-compose как сам контейнер!

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

Первым шагом будет запуск docker-compose как контейнер и предоставление ему доступа к томам.

docker run \    -v /var/run/docker.sock:/var/run/docker.sock \    -v "$PWD:/rootfs/$PWD" \    -w="/rootfs/$PWD" \    docker/compose:1.13.0 up

Далее создайте псевдоним для docker compose:

echo alias docker-compose="'"'docker run \    -v /var/run/docker.sock:/var/run/docker.sock \    -v "$PWD:/rootfs/$PWD" \    -w="/rootfs/$PWD" \    docker/compose:1.13.0'"'" >> ~/.bashrc

Затем перезагрузите bash:

source ~/.bashrc

Теперь у вас полный доступ к docker-compose. Псевдоним, указанный выше, означает, что вместо того, чтобы вводить команды docker, когда вы хотите использовать контейнер compose, вы можете просто использовать «docker-compose», как обычно.

Важное сообщение о Docker на RPi

Raspberry Pi использует архитектуру ARM, и, как следствие, не будет совместима со всеми контейнерами из коробки. Изображение нужно создать из базового образа ARM.

Вы можете увидеть это в действии, запустив контейнерный экземпляр Redis на Raspberry Pi (что достаточно актуально для будущей серии, которую я пишу). Для этого потребуется работа с базовым изображением. Если мы используем ARM совместимый образ, проблем возникнуть не должно. Вопрос состоит в том, чтобы найти ухоженный.

Если вам понравилась эта статья, дайте ей хлопать.

У меня есть другие публикации на моей странице, связанные с Microservices, Ionic и т.д.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *