su - jonathan mkdir -p /home/jonathan/ipfs export ipfs_staging=/home/jonathan/ipfs/staging export ipfs_data=/home/jonathan/ipfs/data
docker run -d --name ipfs_host -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:latest
docker logs -f ipfs_host
看到以下的訊息表示啟動完成
: : API server listening on /ip4/0.0.0.0/tcp/5001 WebUI: http://0.0.0.0:5001/webui Gateway (readonly) server listening on /ip4/0.0.0.0/tcp/8080 Daemon is ready
docker exec ipfs_host ipfs <args...>
Exp.
docker exec ipfs_host ipfs swarm peers
cp -r /home/jonathan/test.txt $ipfs_staging docker exec ipfs_host ipfs add -r /export/test.txt
如果成功就會如下訊息
$ docker exec ipfs_host ipfs add -r /export/test.txt added QmSz21eVFGpCn34JdVwRvaLgajKkMv95Wj2KRKu1u1ugQC test.txt 16 B / 16 B 100.00%
curl https://api.ipfsbrowser.com/ipfs/get.php?hash=QmSz21eVFGpCn34JdVwRvaLgajKkMv95Wj2KRKu1u1ugQC
正常會看到 test.txt 的內容
20220904-231500
第一次外部讀取有可能會花一點時間, 主要是因為其他節點找這hash檔案並由本地 ipfs 節點複製出去其他節點的時間, 所以愈多節點有這 hash 速度就會愈快
docker stop ipfs_host
docker start ipfs_host