我正在尝试使用docker来设置一个2节点私有IPFS集群。为此,我使用ipfs/ipfs-cluster:latest图像。
我的停靠-撰写文件看起来像:
version: '3'
services:
peer-1:
image: ipfs/ipfs-cluster:latest
ports:
- 8080:8080
- 4001:4001
- 5001:5001
volumes:
- ./cluster/peer1/config:/data/ipfs-cluster
peer-2:
image: ipfs/ipfs-cluster:latest
ports:
- 8081:8080
- 4002:4001
- 5002:5001
volumes:
- ./cluster/peer2/config:/data/ipfs-cluster启动容器时出现以下错误
ERROR ipfshttp: error posting to IPFS: Post http://127.0.0.1:5001/api/v0/repo/stat?size-only=true: dial tcp 127.0.0.1:5001: connect: connection refused ipfshttp.go:745

请帮忙解决这个问题。
是否有关于如何在码头上设置IPFS群集的适当文档。这文档遗漏了很多细节。
谢谢。
发布于 2018-09-28 04:25:17
我想出了如何在码头环境下运行多节点IPFS集群。当前的ipfs/ipfs-cluster版本为0.4.17,它不运行ipfs对等点,即它中的ipfs/go-ipfs。我们需要分开处理。
因此,为了在码头环境中运行多节点(本例中为2个节点) IPSF集群,需要运行2个IPFS对等容器和2个IPFS集群容器,每个节点对应一个IPSF集群容器。
因此,您的停靠撰写文件将如下所示:
version: '3'
networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
services:
ipfs0:
container_name: ipfs0
image: ipfs/go-ipfs
ports:
- "4001:4001"
- "5001:5001"
- "8081:8080"
volumes:
- ./var/ipfs0-docker-data:/data/ipfs/
- ./var/ipfs0-docker-staging:/export
networks:
vpcbr:
ipv4_address: 10.5.0.5
ipfs1:
container_name: ipfs1
image: ipfs/go-ipfs
ports:
- "4101:4001"
- "5101:5001"
- "8181:8080"
volumes:
- ./var/ipfs1-docker-data:/data/ipfs/
- ./var/ipfs1-docker-staging:/export
networks:
vpcbr:
ipv4_address: 10.5.0.7
ipfs-cluster0:
container_name: ipfs-cluster0
image: ipfs/ipfs-cluster
depends_on:
- ipfs0
environment:
CLUSTER_SECRET: 1aebe6d1ff52d96241e00d1abbd1be0743e3ccd0e3f8a05e3c8dd2bbbddb7b93
IPFS_API: /ip4/10.5.0.5/tcp/5001
ports:
- "9094:9094"
- "9095:9095"
- "9096:9096"
volumes:
- ./var/ipfs-cluster0:/data/ipfs-cluster/
networks:
vpcbr:
ipv4_address: 10.5.0.6
ipfs-cluster1:
container_name: ipfs-cluster1
image: ipfs/ipfs-cluster
depends_on:
- ipfs1
- ipfs-cluster0
environment:
CLUSTER_SECRET: 1aebe6d1ff52d96241e00d1abbd1be0743e3ccd0e3f8a05e3c8dd2bbbddb7b93
IPFS_API: /ip4/10.5.0.7/tcp/5001
ports:
- "9194:9094"
- "9195:9095"
- "9196:9096"
volumes:
- ./var/ipfs-cluster1:/data/ipfs-cluster/
networks:
vpcbr:
ipv4_address: 10.5.0.8这将旋转2个对等IPFS集群,我们可以使用任何对等点存储和检索文件。
这里的问题是,我们需要将IPFS_API作为环境变量提供给ipfs-集群,这样ipfs-集群才能知道其对应的对等点。对于这两个ipfs集群,我们需要有相同的CLUSTER_SECRET。
发布于 2018-09-27 06:01:48
根据你发表的那篇文章:
容器不运行go-ipfs。例如,您应该使用IPFS /容器来重新运行ipfs守护进程。我们建议挂载/ data /ipfs-群集文件夹,以提供自定义、工作配置以及集群数据的持久性。这通常是通过将-v :/data/ipfs集群传递给docker运行来实现的。
实际上,如果您需要连接到修饰符-组合中的另一个服务,您可以简单地通过服务名称来引用它,因为主机名条目是在对接器-组合中的所有容器中创建的,这样服务就可以通过名称而不是ip来相互通信。
此外:
除非您使用--net=host运行docker,否则需要设置$IPFS_API或确保配置具有正确的node_multiaddress。
坞组合中的-net=host等效为network_mode: "host" (与端口映射不兼容) 模式。
https://stackoverflow.com/questions/52529664
复制相似问题