Skip to content

Create karbo node in docker

KarboDuck edited this page May 6, 2022 · 9 revisions

Как на чистом (только что установленном) Linux одной командой запустить ноду Карбо.

sudo apt -y update && sudo apt -y install docker.io && docker run -it --restart always --pull always --name karbo-node -v krbn:/krb -p 32347:32347 karboduck/karbo-node

Объяснение команды.

Выше три разные команды объединены с помощью &&. Разобьем все на 3 части для упрощения.

sudo apt -y update
sudo apt -y install docker.io
docker run -it --restart always --pull always --name karbo-node -v krbn:/krb -p 32347:32347 karboduck/karbo-node
  1. sudo apt -y update

Смотрит какие программы (и версии) доступны в репозитории. Необходимо выполнить на чистом Linux, иначе он не сможет выполнить следующую команду по установке docker, так как не будет знать о его наличии в репозитории.

  1. sudo apt -y install docker.io

Самый простой способ поставить docker на Linux. Опция -y используется для того, чтобы Linux не переспрашивал "Вы точно хотите установить эту программу?", а делал все автоматом.

  1. docker run -it --restart always --pull always --name karbo-node -v krbn:/krb -p 32347:32347 karboduck/karbo-node

Эту команду тоже разобьем на части:

docker run Команда для запуска контейнера

-it Сокращение команд --interactive и --tty. "Подключает" контейнер к терминалу и позволяет вводить в нем команды.

--restart always Фактически превращает запущенную программу в системный процесс. Если контейнер "упадет", docker автоматически его перезапустит. Если система перезагрузится, то docker запустит контейнер автоматически.

--pull always При запуске всегда проверяет обновление для контейнера и загружает его, если оно появилось.

--name karbo-node Присваивание имени контейнеру. Иначе у него будет рандомное имя. Со статическим именем легче управлять контейнером, например останавливать его, или переподлючаться к нему.

-v krbn:/krb Создает Volume "krbn" и подключает его по пути "/krb" внутри файловой системы контейнера. Нужно для того, чтобы загруженный блокчейн сохранялся при выключении контейнера во внешнем "жестком диске".

-p 32347:32347 По умолчанию доступ внутрь контейнера через порты закрыт. Эта команда передает все запросы на порт 32347 системы внутрь контейнера также на порт 32347. Таким образом нода Карбо может раздавать блокчейн другим нодам, потому что теперь их запросы будут проходить внутрь контейнера.

При запуске на домашнем ПК это не будет работать, так как домашние роутеры блокируют внешние подключения по умолчанию. Чтобы заработало понадобится открыть (пробросить) порт 32347 на роутере. На vps должно работать по умолчанию, там внешние подключения не блокируются.

Clone this wiki locally