我有一个运行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
答案 0 :(得分:1)
要在此处添加文件,必须确保文件在容器中。
当执行<?php
$receiver = $_POST['FlagID'];
echo $receiver;
?>
时,实际上是在告诉ipfs添加容器WORKDIR中存在的tet文件,而与执行命令的位置无关。因此,除非该文件实际存在于sudo docker exec ipfs-node ipfs add tet
中,否则将找不到该文件。
在您的情况下,必须将文件存储在WORKDIR
或/tmp/ipfs-docker-staging
中,然后必须在docker容器内提供路径。例如
/home/ubuntu/.ipfs