docker无法找到该文件

docker无法找到该文件,docker,Docker,我在尝试执行下面的命令时出错 docker run --rm -v /home/docker:/build ethereum/solc:stable /build/TransactionFee.sol --bin --abi --optimize -o /build 错误是 找不到“/Users/amidala/projects/TransactionFee.sol” 该文件已存在: amidalas-MacBook-Pro:projects amidala$ ls -ltr build/

我在尝试执行下面的命令时出错

 docker run --rm -v /home/docker:/build ethereum/solc:stable /build/TransactionFee.sol --bin --abi --optimize -o /build
错误是

找不到“/Users/amidala/projects/TransactionFee.sol”

该文件已存在:

amidalas-MacBook-Pro:projects amidala$ ls -ltr build/ docker/ TransactionFee.sol
-rwxr-xr-x  1 amidala  staff  730 Dec 10 23:46 TransactionFee.sol

docker/:

build/:
amidalas-MacBook-Pro:projects amidala$ docker run --rm -v /Users/amidala/projects/docker:/Users/amidala/projects/build ethereum/solc:stable /Users/amidala/projects/TransactionFee.sol --bin --abi --optimize -o /Users/amidala/projects/build
"/Users/amidala/projects/TransactionFee.sol" is not found.
amidalas-MacBook-Pro:projects amidala$ 
如您所见,该文件已存在

/users已共享

我遗漏了什么吗

下面是you command中的文章

docker run --rm \
    -v /User/amidala/projects/docker:/Users/amidala/projects/build \
    etherun/solc:stable \
    /User/amidala/projects/TransactionFee.sol \
    --bin --abi --optimize -o /Users/amidala/projects/build
您告诉docker将本地文件夹
/User/amidala/projects/docker
装载到containers文件夹
/Users/amidala/projects/build
(这是
-v
参数)。因此,在容器内的文件夹
/Users/amidala/projects
中只有docker文件夹,仅此而已。没有TransactionFee.sol文件

您可能希望将
/User/amidala/projects
文件夹装载到容器
/User/amidala/projects
。所以整个
projects
文件夹可用于容器

docker run --rm \
    -v /User/amidala/projects:/User/amidala/projects \
    etherun/solc:stable \
    /User/amidala/projects/TransactionFee.sol \
    --bin --abi --optimize -o /Users/amidala/projects/build

PS:在容器中使用与io主机相同的文件夹结构有利于简化,但不利于确定所引用的文件夹

在您的命令中有关于卷和装载的整个docker docs页面:

docker run --rm \
    -v /User/amidala/projects/docker:/Users/amidala/projects/build \
    etherun/solc:stable \
    /User/amidala/projects/TransactionFee.sol \
    --bin --abi --optimize -o /Users/amidala/projects/build
您告诉docker将本地文件夹
/User/amidala/projects/docker
装载到containers文件夹
/Users/amidala/projects/build
(这是
-v
参数)。因此,在容器内的文件夹
/Users/amidala/projects
中只有docker文件夹,仅此而已。没有TransactionFee.sol文件

您可能希望将
/User/amidala/projects
文件夹装载到容器
/User/amidala/projects
。所以整个
projects
文件夹可用于容器

docker run --rm \
    -v /User/amidala/projects:/User/amidala/projects \
    etherun/solc:stable \
    /User/amidala/projects/TransactionFee.sol \
    --bin --abi --optimize -o /Users/amidala/projects/build

PS:在容器中使用与io主机相同的文件夹结构有利于简化,但不利于确定所引用的文件夹


整个docker docs页面都有关于体积和安装的内容:

Michal Hošna的回答是准确的。但我会保持容器文件夹结构不变。尝试运行:

docker run --rm -v /Users/amidala/projects/docker:/build ethereum/solc:stable /build/TransactionFee.sol --bin --abi --optimize -o /build

也许容器期望在build文件夹中发生一些事情,并且在运行构建时可能会出现其他错误。

Michal Hošna的回答是准确的。但我会保持容器文件夹结构不变。尝试运行:

docker run --rm -v /Users/amidala/projects/docker:/build ethereum/solc:stable /build/TransactionFee.sol --bin --abi --optimize -o /build

可能容器希望在生成文件夹中发生一些事情,并且在运行生成时可能会出现其他错误。

您可以从当前目录和ls-R中执行PWD吗?您可以从当前目录和ls-R中执行PWD吗?仅供参考,我也已粘贴为文本,我已将其格式化为文本。@secretsuperstar抱歉,我不知怎么错过了。编辑。谢谢,仅供参考,我也以文本的形式粘贴了,我已将其格式化为文本。@secretsuperstar抱歉,我不知怎么错过了。编辑。谢谢