如何将文件映射到ipfs docker容器中



我有一个运行ipfs的docker容器,但我在添加文件时出错,因为本地文件无法识别。我想知道是否有人知道原因是什么——

buntu@ip-172-31-39-89:~/.ipfs$ ll
total 76
drwxrwxr-x  8 ubuntu ubuntu  4096 Oct 31 11:38 ./
drwxr-xr-x 11 ubuntu ubuntu  4096 Oct 31 11:28 ../
-rw-r--r--  1 ubuntu users     21 Oct 31 11:32 api
drwxr-xr-x 18 ubuntu ubuntu  4096 Oct 31 11:32 blocks/
-rw-rw----  1 ubuntu ubuntu  4342 Oct 28 10:33 config
drwxr-xr-x  2 ubuntu ubuntu  4096 Oct 31 11:32 datastore/
-rw-------  1 ubuntu ubuntu   190 Oct 25 11:34 datastore_spec
-rw-rw-r--  1 ubuntu ubuntu   299 Oct 30 15:28 docker-compose.yml
drwxrwxr-x  2 ubuntu ubuntu  4096 Oct 30 15:45 ipfs-data/
drwxrwxr-x  2 ubuntu ubuntu  4096 Oct 30 15:44 ipfs-staging/
drwxr-xr-x  2 root   root    4096 Oct 30 15:26 ipfsdata/
drwx------  2 ubuntu ubuntu  4096 Oct 25 11:34 keystore/
-rw-r--r--  1 root   root       0 Oct 31 11:38 kkk
-rw-r--r--  1 ubuntu users      0 Oct 31 11:32 repo.lock
-rw-rw-r--  1 ubuntu ubuntu    95 Oct 28 10:43 swarm.key
-rw-rw-r--  1 ubuntu ubuntu 10294 Oct 31 11:26 t
-rw-rw-r--  1 ubuntu ubuntu    14 Oct 31 10:58 tet
-rw-r--r--  1 ubuntu ubuntu     2 Oct 25 11:34 version
ubuntu@ip-172-31-39-89:~/.ipfs$ sudo docker exec ipfs-node ipfs add tet
Error: lstat tet: no such file or directory

映射如下所示-

sudo docker run -d --name ipfs-node 
-v /tmp/ipfs-docker-staging:/export -v /home/ubuntu/.ipfs:/data/ipfs 
-p 8080:8080 -p 4001:4001 -p 127.0.0.1:5001:5001 
jbenet/go-ipfs:latest

为了在那里添加文件,您必须确保它们存在于容器中。

当您执行sudo docker exec ipfs-node ipfs add tet时,实际上是在告诉ipfs添加容器WORKDIR中的tet文件,与执行命令的位置无关。因此,除非该文件实际存在于WORKDIR中,否则将找不到它。

在您的情况下,您必须将文件存储在/tmp/ipfs-docker-staging/home/ubuntu/.ipfs中,然后您必须在docker容器中提供路径。例如

# for files stored in /home/ubuntu/.ipfs:
sudo docker exec ipfs-node ipfs add /data/ipfs/tet
# for files stored in /tmp/ipfs-docker-staging
sudo docker exec ipfs-node ipfs add /export/tet.new

相关内容

  • 没有找到相关文章

最新更新