gpt4 book ai didi

docker - 在docker环境中设置IPFS集群

转载 作者:行者123 更新时间:2023-12-02 04:33:06 26 4
gpt4 key购买 nike

我正在尝试使用 docker 设置一个 2 节点私有(private) IPFS 集群。为此,我使用 ipfs/ipfs-cluster:latest 图像。

我的 docker-compose 文件如下所示:

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

enter image description here请帮忙解决问题。

是否有关于如何在 docker 上设置 IPFS 集群的适当文档。 This文档遗漏了很多细节。

谢谢。

最佳答案

我弄清楚了如何在 docker 环境中运行多节点 IPFS 集群。当前版本 0.4.17 的 ipfs/ipfs-cluster 不运行 ipfs 对等体,即 ipfs/go-ipfs 。我们需要单独运行它。

现在为了在 docker 环境中运行多节点(本例中为 2 个节点)IPSF 集群,我们需要运行 2 个 IPFS 对等容器和与每个对等点对应的 2 个 IPFS 集群容器 1。

因此您的 docker-compose 文件将如下所示:

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-cluster 提供 IPFS_API 作为环境变量,以便 ipfs-cluster 知道其对应的对等点。对于两个 ipfs-cluster,我们需要具有相同的 CLUSTER_SECRET。

关于docker - 在docker环境中设置IPFS集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52529664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com