Docker容器中的IPFS公共节点?

问题描述 投票:1回答:2

我正试图在我的家庭网络上建立一个IPFS服务器。我有一个CoreOS盒子,我想用它来起床和运行。由于CoreOS专注于Docker容器,这就是我所拥有的设置。

我有它工作,我可以启动运行守护进程的Docker容器:

docker run --name ipfs.service \
  -p 8080:8080 -p 4001:4001 -p 5001:5001 \
  ipfs/go-ipfs:v0.4.14

我已登录到正在运行的容器(docker exec -it ipfs.service sh)并将“Addresses.Gateway”选项更新为“/ip4/0.0.0.0/tcp/8080”。

在启动时,日志确实显示:

API server listening on /ip4/0.0.0.0/tcp/5001
Gateway (readonly) server listening on /ip4/0.0.0.0/tcp/8080
Daemon is ready

现在,我希望能够从家庭网络上的另一个工作站浏览IPFS内容。但是,导航到http://192.168.0.100:8080/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg(我的CoreOS本地IP地址为192.168.0.100),我在Chrome中收到“连接被拒绝”错误。

使用SSH隧道我可以访问IPFS内容(将服务器8080端口转发到我的本地工作站),所以我知道IPFS服务器至少为外部CoreOS层提供服务。

但是如何进一步提升它?我不确定这是CoreOS配置错误还是IPFS守护程序配置错误。如何进一步排除此连接断开的位置?

docker coreos ipfs
2个回答
0
投票

可能是一个docker事情,因为在IPFS配置方面,一切看起来都很正常。

运行docker容器时,尝试使用docker run ... -p 0.0.0.0:8080:8080而不仅仅是-p 8080:8080运行它。我认为docker默认将8080:8080绑定到127.0.0.1而不是0.0.0.0


0
投票

这个问题结果证明是IPFS版本的一个问题;更新到最新版本的IPFS导致问题消失。

© www.soinside.com 2019 - 2024. All rights reserved.