crypto

Validatorノードを複数立ち上げるための、UbuntuのDocker立ち上げ方

By 2023年6月26日No Comments

Vlidatorノードを建てようとすると、1つのサーバーで複数のバリデーターノードを建てたいと思う事があります。多くのプロジェクトは何もしなくてもDockerからノード立ち上げをしてくれるようにスクリプトが準備されてますが、そのような準備が無いプロジェクトもあります。

そんな時に、自分でDocker環境をつくって、その中でノードを建てることで複数運用することができます。この記事ではそのDocker環境を作っていく手順を書いていきます。

Docker環境作成

Dockerインストールの確認

サーバー環境にログインした状態からスタートします。サーバーにdockerが入っているかから確かめます。

docker --version

上記コマンドを実行すると、インストールされているDockerのバージョンが表示されます。下記のような表示がされる場合は正常にインストールされています。

Docker version 20.10.7, build f0df350

また、Dockerのデーモン状態を確認するためには、以下のコマンドを実行します。

sudo systemctl status docker

上記のコマンドを実行すると、Dockerデーモンの状態が表示されます。”Active: active (running)”と表示されていれば、Dockerデーモンが正常に動作しています。

Dcoker入って無い場合

Dockerをインストールするために、以下コマンドを実行します。

sudo apt update
sudo apt install docker.io

Dockerデーモンを起動し、自動起動するように設定します。

sudo systemctl start docker
sudo systemctl enable docker

Dockerコマンドをsudoなしで実行するために、現在のユーザーをdockerグループに追加します。

sudo usermod -aG docker $USER

Dockerを使ってUbuntsuサーバーを起動する

以下のコマンドを使用して、Dockerコンテナ内で実行するUbuntuイメージをダウンロードします。

docker pull ubuntu

Dockerのコンテナを立ち上げる時に名前を付けておくと、複数管理する時に楽なので名前を付けて立ち上げます。

docker run -it -d --name my-ubuntu-container ubuntu

上記のmy-ubuntu-container部分に任意の名前を付けます。-dオプションを付ける事で、ターミナルを閉じてもバックグラウンドで動き続けてくれます。このコマンドを打つことでDockerのコンテナ内部に入ることができたので、環境を整備してノードの立ち上げをしていきます。

docker ps -a

上記コマンドで今作成したDockerプロセスを確認しましょう。このcontainer id部分をコピーして、コンテナ内部に入っていきます。

docker attach container_id

上記コマンドを打つことで、コンテナ内部に入ります。container_id部分は先ほどコピーしたidとなります。

aptの更新を行う

aptの更新をして最新版にしておく。

apt update

プロジェクトによって違うのですが、今回はOpsideに対応するように必要なライブラリをインストールしていきます。この項目はプロジェクトによって変わります。

apt install curl jq wget

Dockerに入ったばかりはルートにいるので、ユーザーのホームディレクトリに移動してそこで作業をします。どの場所でも可能ですが、管理しやすい場所に設定するのをお勧めします。

/home/<ユーザー名>

Opsideのノードを建てる場合は、以下をDocker環境で実行する

export LC_ALL=C.UTF-8
export LANG=C.UTF-8

以上で、DockerのUbuntu環境が出来上がります。

ターミナルを閉じる時の注意

ターミナルを使いなれて来た人はexitを叩く可能性がありますが、exitコマンドを押すとDockerのコンテナも終了してしまいます。デタッチという処理が必要でそれは以下コマンドを打ちます。

Ctr+p Ctr+q

Ctrキーを押したまま、pを押して次にqを押すことでデタッチしてDockerコンテナを動かしたまま出ることができます。

Dockerコンテナの管理

Dockerが動いているかどうかを確認するのに必要なコードは以下です。

docker ps -a

上記コマンドを押すことで、現在のDockerプロセスを確認することができます。

再度、コンテナ内に入って作業をしたい場合は、上記コマンドでcontaier id部分をコピペして、下記コマンドを打ちます。

docker attach contaier_id

contaier_id部分は数字の文字列が入ります。作業が終わった場合は上の段落でも書いてますがCtr+p Ctr+qでデタッチします。

HOSL

Author HOSL

More posts by HOSL