我正在遵循使用Docker的本教程。当我试图运行Docker(在run.sh脚本中):

docker run \
    -p 8888:8888 
    -v `pwd`/../src:/src \
    -v `pwd`/../data:/data -w /src supervisely_anpr \
    --rm \
    -it \
    bash

我得到了错误:

docker: invalid reference format.

我花了两个小时,我真的不明白哪里出了问题。任何想法都非常感谢。


当前回答

如果你在windows PowerShell中运行脚本,你需要用花括号将$(pwd)替换为${pwd}。

其他回答

只是提醒一下:如果你路径中的任何文件夹中有空格,请删除它。例如,如果其中一个文件夹的名称是my文件夹,则将其更改为my-folder。

当我复制粘贴命令时,我也遇到了同样的问题。相反,当我输入整个命令时,它工作了!

祝你好运…

我在Linux上也遇到了同样的问题。这是因为目录名中包含空格。我通过使用“$(pwd)/path/to/go”而不是$(pwd)/path/to/go来修复它

我在没有设置环境变量时遇到了这个问题。

docker push ${repo}${image_name}:${tag}

Repo和image_name已定义,但tag未定义。

这导致docker推送repo/image_name:。

抛出docker: invalid引用格式。

我在一行中执行了整个命令,正如上面提到的那样

$ docker run --name testproject-agent \
-e TP_API_KEY="REPLACE_WITH_YOUR_KEY" \
-e TP_AGENT_ALIAS="My First Agent" \
testproject/agent:latest

但它应该是一个多行命令,我一行一行地复制命令行,并在每一行之后按enter键,砰!它工作。

有时当你复制网页时,新行字符会被省略,因此我建议尝试手动引入新行。