【问题标题】:error creating Fabric environment in VS code with IBM Blockchain Platform使用 IBM Blockchain Platform 在 VS 代码中创建 Fabric 环境时出错
【发布时间】:2019-09-05 04:30:09
【问题描述】:

我正在遵循 Hyperledger 的教程 1 并设置 Fabric 环境。我安装了正确版本的所有正确依赖项。我的 docker 版本是 19.03.1,docker-compose 是 1.8.0。在 VS 代码中使用 IBM Blockchain Platform,当我单击 Local Fabric (Click to Start 时,它无法启动 docker 图像。相反,它给了我一个错误Failed to start Local Fabric: Error: Failed to execute command "/bin/sh" with arguments "generate.sh" return code 126

一开始我认为我需要设置更好的权限,所以我允许 docker 在没有 sudo 的情况下运行,但仍然出现相同的错误。我已经使用 Hyperledger 的 First-Network 和 Fabcar 教程成功运行了 docker 映像,但无法让区块链平台启动它。这是整个日志。

[2019-09-05 12:20:47 a.m.] [INFO] connecting to fabric environment
[2019-09-05 12:20:47 a.m.] [INFO] startFabricRuntime
[2019-09-05 12:20:47 a.m.] [INFO] # don't rewrite paths for Windows Git Bash users
[2019-09-05 12:20:47 a.m.] [INFO] export MSYS_NO_PATHCONV=1
[2019-09-05 12:20:47 a.m.] [INFO] CHANNEL_NAME=mychannel
[2019-09-05 12:20:47 a.m.] [INFO] # teardown any existing network
[2019-09-05 12:20:47 a.m.] [INFO] ./teardown.sh
[2019-09-05 12:20:47 a.m.] [INFO] # Shut down the Docker containers for the system tests.
[2019-09-05 12:20:47 a.m.] [INFO] docker-compose -f docker-compose.yml kill && docker-compose -f docker-compose.yml down -v
[2019-09-05 12:20:47 a.m.] [INFO] Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
[2019-09-05 12:20:47 a.m.] [INFO] For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
[2019-09-05 12:20:47 a.m.] [INFO] # remove chaincode docker images
[2019-09-05 12:20:47 a.m.] [INFO] (docker ps -aq --filter "name=fabricvscodelocalfabric-*" | xargs docker rm -f) || true
[2019-09-05 12:20:47 a.m.] [INFO] Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1&filters=%7B%22name%22%3A%7B%22fabricvscodelocalfabric-%2A%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
[2019-09-05 12:20:48 a.m.] [INFO] "docker rm" requires at least 1 argument.
[2019-09-05 12:20:48 a.m.] [INFO] See 'docker rm --help'.
[2019-09-05 12:20:48 a.m.] [INFO] Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
[2019-09-05 12:20:48 a.m.] [INFO] Remove one or more containers
[2019-09-05 12:20:48 a.m.] [INFO] (docker images -aq "fabricvscodelocalfabric-*" | xargs docker rmi -f) || true
[2019-09-05 12:20:48 a.m.] [INFO] Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json?all=1&filters=%7B%22reference%22%3A%7B%22fabricvscodelocalfabric-%2A%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
[2019-09-05 12:20:48 a.m.] [INFO] "docker rmi" requires at least 1 argument.
[2019-09-05 12:20:48 a.m.] [INFO] See 'docker rmi --help'.
[2019-09-05 12:20:48 a.m.] [INFO] Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]
[2019-09-05 12:20:48 a.m.] [INFO] Remove one or more images
[2019-09-05 12:20:48 a.m.] [INFO] # remove previous crypto material and config transactions
[2019-09-05 12:20:48 a.m.] [INFO] rm -fr admin-msp/* configtx/* crypto-config/* wallets/local_fabric_wallet/*
[2019-09-05 12:20:48 a.m.] [INFO] # Your system is now clean
[2019-09-05 12:20:48 a.m.] [INFO] rm -f generate.complete
[2019-09-05 12:20:48 a.m.] [INFO] fix_permissions () {
[2019-09-05 12:20:48 a.m.] [INFO]   docker run --rm -v $PWD:/etc/hyperledger/fabric -w /etc/hyperledger/fabric hyperledger/fabric-tools:1.4.2 chown -R $(id -u):$(id -g) ./configtx ./crypto-config ./admin-msp
[2019-09-05 12:20:48 a.m.] [INFO] }
[2019-09-05 12:20:48 a.m.] [INFO] # generate crypto material
[2019-09-05 12:20:48 a.m.] [INFO] docker run --rm -v $PWD:/etc/hyperledger/fabric -w /etc/hyperledger/fabric hyperledger/fabric-tools:1.4.2 cryptogen generate --config=./crypto-config.yaml
[2019-09-05 12:20:48 a.m.] [INFO] docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
[2019-09-05 12:20:48 a.m.] [INFO] See 'docker run --help'.
[2019-09-05 12:20:48 a.m.] [ERROR] Failed to start Local Fabric: Error: Failed to execute command "/bin/sh" with  arguments "generate.sh" return code 126

这里是教程的链接,虽然它显示在 VScode https://developer.ibm.com/tutorials/ibm-blockchain-platform-vscode-smart-contract/ 中。我一直跟踪到您启动 docker 图像的地步。

【问题讨论】:

  • 您是否通过创建 docker 组、将您的用户添加到该组然后按照此处docs.docker.com/install/linux/linux-postinstall 的描述注销并再次登录来执行安装后步骤?
  • docker-compose v1.8.0 - 这似乎是一个旧版本 - 这个 VS Code 扩展需要 v1.14.0 或更高版本。
  • @RThatcher 是的,这就是问题所在。

标签: docker ubuntu-16.04 hyperledger-fabric ibp-vscode-extension


【解决方案1】:

显示权限错误,当前用户无法访问docker引擎

运行这个命令,需要在你的 shell 中定义 $USER

sudo usermod -aG docker $USER

然后授予访问权限

sudo chmod 777 /var/run/docker.sock

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    相关资源
    最近更新 更多