Docker-x27;容器未运行';即使我刚刚初始化了它

Docker-x27;容器未运行';即使我刚刚初始化了它,docker,hyperledger,Docker,Hyperledger,我正在为我的工作使用Hyperledger Fabric,我正在努力学习网络和docker,我将跟随教程。我进入了需要使用docker exec-it CLI bash输入CLI容器的步骤,但当我输入该步骤时,会出现以下错误: 来自后台程序的错误响应:容器ddc2288c83a89c478f9b31b7a3273994ec4767d63e58208c8e4b145ae44b0579未运行 即使在我使用docker-compose-f docker-compose-cli.yaml up-d启动网

我正在为我的工作使用Hyperledger Fabric,我正在努力学习网络和docker,我将跟随教程。我进入了需要使用
docker exec-it CLI bash
输入CLI容器的步骤,但当我输入该步骤时,会出现以下错误:

来自后台程序的错误响应:容器ddc2288c83a89c478f9b31b7a3273994ec4767d63e58208c8e4b145ae44b0579未运行

即使在我使用
docker-compose-f docker-compose-cli.yaml up-d
启动网络之后,我也会得到这个结果,甚至输入
docker-start-cli
,这正是教程告诉我要做的

我可以确认它立即退出,因为当我在我的终端中输入
docker ps-a
时,它会显示所有进程,但由于某种原因cli会立即退出:

这是什么原因造成的?我能做些什么来修复它?本教程说,如果CLI退出,您只需输入
docker start CLI
再次初始化它,但它不起作用。

解决方案1-

使用以下命令启动网络时,默认情况下CLI容器将停留1000秒

docker compose-f docker-compose-cli.yaml up-d

因此,在运行此命令之前,必须设置TIMEOUT变量。要设置超时,请在启动网络之前执行以下命令

导出超时=

通过这种方式,您可以确保cli在需要执行更多命令时保持正常

此外,如果您的CLI未运行,则只需执行此命令即可启动CLI

docker start cli
解决方案-2

在运行
docker-compose-f docker-compose-cli.yaml up-d
命令之前,打开docker-compose cli.yaml`文件

然后像这样注释掉下面的一行-

#command:/bin/bash-c'/scripts/script.sh${CHANNEL_NAME}${DELAY};睡眠$TIMEOUT'


希望这有帮助。

您无法进入容器,因为根据图像,当前状态为退出,请尝试从
docker logs container ID查看日志
非常感谢您回答此问题!不可否认,这几乎是一年前的事了,从那以后,我对Docker的熟练程度提高了很多,所以我甚至不知道如何复制这个问题。希望有人在类似的立场,我是能够利用这一点!!