常见问题解答
Docker容器无法启动
如果docker-compose up
或docker-compose up -d
有容器无法启动, 输入命令docker-compose ps
查看具体的容器状态,如果容器状态显示Exit (1)
,则表明发生了异常。 常见的情况是容器node1
、node2
或node3
启动失败。
这里以node1
发生异常为例,输入命令docker-compose logs -f node1
,查看node1的日志。 发生的异常不同,处理方式也不同。
service.XXX.depends_on contains an invalid type
类似上图的问题,是由docker和docker-compose版本过低引起的。需要将docker版本升级至19.03.0+,docker-compose版本升级至1.29.2+。
node XXX has already joined
如果遇到node XXX has already joined
这种异常,表明上一次关闭节点时,节点没有正常退出。
以no-blockchain
为例子。在容器connector
运行正常的情况下,在no-blockchain
文件夹下,依次输入命令:
然后输入命令:
即可重新启动。
在with-blockchain
文件夹下,命令是类似的。需要将命令中的no-blockchain_default
改为with-blockchain_default
。
PermissionError: [Errno 13] Permission denied: 'XXX'
如果遇到PermissionError: [Errno 13] Permission denied: 'XXX'
这种异常,表明发生了权限问题,docker容器无法挂载volume。 这种问题一般是由于用户是root用户导致的。在非root用户的情况下,一般不会出现如下问题。
如果不能切换到非root用户,可以修改docker-compose.yml
文件,在所有容器的配置中添加privileged: true
。 例如:
之后即可正常启动。
最后更新于