Fabricの最新版で環境を作っていたらChainCodeがデプロイしても動かない。
エラーを見てみたら「 Launch -> ERRO bf9 launchAndWaitForRegister failed Error starting container: API error (400): {"message":"starting container with HostConfig was drecated since v1.10 and removed in v1.12"}」てな感じでChainCode用のDockerを起動できていない
07:40:27.360 [rest] ProcessChaincode -> INFO a9d REST successfully deploy chaincode: {"jsonrpc":"2.0","result":{"status":"OK","message":"c8a656473ab6e760a6f65c6811f3883f76a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a271c3d00070e11c856a20e"},"id":1}
07:40:28.062 [chaincode] getArgsAndEnv -> DEBU aee Executable is /opt/gopath/bin/c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff94eff501b7cb73a271c3d00070e11c856a20e
07:40:28.062 [chaincode] Deploy -> DEBU aef deploying chaincode c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a2c3d00070e11c856a20e(networkid:dev,peerid:vp0)
07:41:06.666 [chaincode] getArgsAndEnv -> DEBU beb Executable is /opt/gopath/bin/c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff94eff501b7cb73a271c3d00070e11c856a20e
07:41:06.666 [chaincode] launchAndWaitForRegister -> DEBU bec start container: c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9adff501b7cb73a271c3d00070e11c856a20e(networkid:dev,peerid:vp0)
07:41:06.764 [chaincode] Launch -> ERRO bf9 launchAndWaitForRegister failed Error starting container: API error (400): {"message":"starting container with HostConfig was drecated since v1.10 and removed in v1.12"}
みてみるとイメージは出来ているが起動できない
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dev-vp0-c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a271c3d00070e11c856a20e latest 559dd9b2d826 42 seconds ago 1.726 GB
dev-vp2-c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a271c3d00070e11c856a20e latest 64c3aff795ac 42 seconds ago 1.726 GB
dev-vp3-c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a271c3d00070e11c856a20e latest 505226730e4e 42 seconds ago 1.726 GB
dev-vp1-c8a656473ab6e760a6f65c6811f3883f76e7a648adedd2c1c5e4be37210abe2c7b3a73ec15c0bd6196c3f85ff9ad4eff501b7cb73a271c3d00070e11c856a20e latest 20c182276ea1 43 seconds ago 1.726 GB
Docker1.12の変更に対応できていないようですね。
HostConfig will be deprecated since Docker 1.12 · Issue #2044 · hyperledger/fabric · GitHub
一部対応されているようなのだけどMasterにまだはいっていないもよう
1.11.2にダウングレードを試みる。
$ sudo apt-cache showpkg docker-engine
$ sudo apt-get install docker-engine=1.11.2-0~trusty
$ docker -v
Docker version 1.11.2, build b9f10c9
ダウングレードできたので、最初から上げなおし。とおもったら
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
となったので起動しない。色々やっても起動しない。
すでに色々イメージがある状態でダウングレードするとだめみたいね。まあそりゃそうか。
なんでしょうがないので、Vagrantでイメージ作るところからやり直す。
まっさらなVMを用意して、
github.com\hyperledger\fabric\devenv\setup.sh
を書き換える。
L69 の
# Install docker
apt-get install -y linux-image-extra-$(uname -r) apparmor docker-engine
⇒
# Install docker
apt-get install -y linux-image-extra-$(uname -r) apparmor
apt-get install -y docker-engine=1.11.2-0~trusty
と書き換えてdockerをバージョン指定でインストールさせる。
これでOK。VMから作り直しましょう。
VirtualBoxから「hyperledger」イメージを削除してきれいな体にしてから
vagrant up
vagrant up --provision
でOK.その他の手順は以下と同じ。これでDockerを1.11.2固定の環境が出来た。
garapon.hatenablog.com
やれやれ