docker - IBM Blockchain Platform在VS代码中创建Fabric环境时出错

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

我正在关注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镜像,但是无法使用Blockchain Platform来启动它。这是整个日志。

[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引擎
运行此命令,需要在shel中定义$ USER

sudo usermod -aG docker $USER
之后,授予访问权限
sudo chmod 777 /var/run/docker.sock

关于docker - IBM Blockchain Platform在VS代码中创建Fabric环境时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798461/

相关文章:

amazon-web-services - EC2 - 从 T2.Medium 升级到 T2.Large 时我获得了多少磁盘空间

node.js - 无法使用启用了 TLS 的 NodeJS SDK 连接到 Hyperledger Fabric

docker - 使用 Ansible 将命令行参数传递给 Docker

linux - 如果不存在,如何将文本行添加到文件

docker - 将主机环境变量与Docker远程API结合使用

opencv - 在 Ubuntu 16.04 上安装 OpenCV 时出错

hyperledger-fabric - 对等 channel 创建 - 评估失败,仅满足 0 个策略 Hyperledger Fabric

hyperledger-fabric - 将现有的 Hyperledger Fabric 排序器从单独升级到基于 Kafka

ruby-on-rails - 如何使用Rails连接到PostgreSQL容器

java - 连接到在 docker 容器上运行的远程 activemq 实例