本ファイルは、第2章で入力するコマンドなどを記述しています。

[2.2.1　①VirtualBoxの準備](Windowsで実行)
VirtualBoxインストールファイルのダウンロードサイト(オラクル・コーポレーション:USサイト)
https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html
または https://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html


[2.2.2　②Ubuntuの準備](Windowsで実行)
Ubuntuのインストールイメージ(Canonical Ltd.サイト)
https://jp.ubuntu.com/download


[2.2.3　③Dockerのインストール]
Dockerインストール(Terminal 2-2-1：Ubuntuのターミナルで実行)
sudo apt-get update
sudo apt install curl
sudo curl -fsSL get.docker.com -o get-docker.sh
ls
sudo sh get-docker.sh
sudo docker -v

*アドバイス：Dockerインストール終了時点で仮想PCをクローンするなど現在の状態を保存することをお薦めします。
 付録の「A.3 複数Peer構成の構築」は、この時点からスタートすることを想定しています。


[2.2.4　④Dockerコンテナの作成]
Dockerコンテナ作成(Terminal 2-2-2：Ubuntuのターミナルで実行)
cd ~/
sudo docker network create iroha-network
sudo docker network list

sudo docker volume create blockstore
sudo docker volume list


some-postgresコンテナを作成(Terminal 2-2-3：Ubuntuのターミナルで実行)
sudo docker run -it -d --name some-postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
--network=iroha-network \
postgres:9.5


irohaコンテナの作成準備(Terminal 2-2-4/Terminal 2-2-5：Ubuntuのターミナルで実行)
sudo apt install git
sudo git clone https://github.com/hyperledger/iroha --depth=1
ls


irohaコンテナを作成(Terminal 2-2-6：Ubuntuのターミナルで実行)
*アドバイス：コマンド7行目の「1.0.1」以外に「1.0.0」を指定することも可能です
sudo docker run -it -d --name iroha \
-p 50051:50051 \
-v $(pwd)/iroha/example:/opt/iroha_data \
-v blockstore:/tmp/block_store \
--network=iroha-network \
--entrypoint=/bin/bash \
hyperledger/iroha:1.0.1


作成したコンテナの確認と停止(Terminal 2-2-7：Ubuntuのターミナルで実行)
sudo docker ps
sudo docker stop iroha some-postgres


[2.3.1　起動手順](Ubuntuのターミナルで実行)
コンテナの起動
sudo docker start some-postgres iroha

起動したコンテナの確認
sudo docker ps

irohaコンテナへのアクセスと切断
sudo docker exec -it iroha /bin/bash
ls -l
exit


[2.3.2　各プロセスの動作確認]
Hyperledger Iroha コンテナへのアクセスとHyperledger Irohaプロセスの起動(Terminal 2-3-1：Ubuntuのターミナルで実行)
sudo docker exec -it iroha /bin/bash
irohad --config config.docker --genesis_block genesis.block --keypair_name node0


iroha-cliコマンドによる動作確認(メニュー出力は省略)(Terminal 2-3-2：Ubuntuの新しいターミナルで実行)
sudo docker exec -it iroha /bin/bash
iroha-cli -account_name admin@test
> : 2
> : 6
> : 1


> : Ctrl+C
exit
exit


some-postgresコンテナのPostgreSQLデータベースにログイン(Terminal 2-3-3：Ubuntuの新しいターミナルで実行)
sudo docker exec -it some-postgres /bin/bash
psql -U postgres postgres
\dt;
select * from account;
select * from asset;
select * from domain;
select * from role;
select * from peer;
\q
exit
exit


[2.3.3　停止手順](Ubuntuのターミナルで実行)
irohadプロセス停止とirohaコンテナからDockerホストへ戻る
Ctrl+C
exit


各コンテナの停止(Ubuntuのターミナルで実行)
sudo docker stop iroha some-postgres
sudo docker ps -a


[2.3.4　誤ってDockerコンテナを作成した場合の削除手順](Ubuntuのターミナルで実行)
sudo docker stop iroha some-postgres
sudo docker rm iroha some-postgres
sudo docker volume ls
sudo docker volume rm blockstore
sudo docker volume rm some-postgresコンテナが自動的に作成したボリューム名
sudo docker network rm iroha-network