首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker -‘容器没有运行’,即使我只是初始化它。

Docker -‘容器没有运行’,即使我只是初始化它。
EN

Stack Overflow用户
提问于 2018-02-23 19:12:30
回答 1查看 2.4K关注 0票数 1

我正在为我的工作使用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再次初始化它,但它不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

代码语言:javascript
复制
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'

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48954729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档