我正在为我的工作使用Hyperledger,我正在努力了解网络和码头,并且我正在跟随这教程。我进入了需要使用docker exec -it cli bash输入CLI容器的步骤,但是当我输入它时,我会得到以下错误:
Error response from daemon: Container ddc2288c83a89c478f9b31b7a3273994ec4767d63e58208c8e4b145ae44b0579 is not running
即使是在我用docker-compose -f docker-compose-cli.yaml up -d启动网络并以良好的标准进入docker start cli之后,我也得到了它,这正是教程告诉我要做的。
我可以确认它立即退出,因为当我输入docker ps -a到我的终端时,它会显示所有进程,但是由于某种原因,cli会立即退出:

是什么引起的?我能做些什么来解决这个问题?教程说,如果CLI退出,您只需输入docker start cli再次初始化它,但它不起作用。
发布于 2018-12-08 11:37:30
解决方案1-
使用以下命令启动网络时,CLI容器默认停留1000秒。
docker-compose -f docker-compose-cli.yaml up -d
因此,在运行此命令之前,您必须设置TIMEOUT变量。若要设置超时,请在启动网络之前执行以下命令。
export TIMEOUT=<no of seconds your CLI should stay up>
这样,只要您需要执行进一步的命令,就可以确保cli保持不睡状态。
另外,如果您的CLI没有运行,那么只需执行此命令即可启动CLI。
docker start cli解决方案-2
在运行docker-compose -f docker-compose-cli.yaml up -d命令之前,打开docker-comp-cli.yaml文件。
然后把下面这一行注释掉-
#command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME} ${DELAY}; sleep $TIMEOUT'
希望这能有所帮助。
https://stackoverflow.com/questions/48954729
复制相似问题