我正在遵循使用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.

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


当前回答

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

其他回答

在我的例子中,命令是这样的

 docker run -d --name kong-database \
  --network=kong-net \
  -p 5432:5432 \
  -e "POSTGRES_USER=kong" \
  -e "POSTGRES_DB=kong" \
  -e "POSTGRES_PASSWORD=kongpass" \
  postgres:9.6

我试图在一行中复制所有内容,包括斜杠(\),并得到以下错误

docker: invalid reference format.

命令中的斜杠(\)表示下一行,因此如果您试图在一行中运行完整的命令,只需删除斜杠(\),这对我来说是可行的

谢谢:)

我使用的是一个非常通用的命令

Docker构建。

结果证明,我只需要指定标记名称,否则就没有名称可使用

Docker构建。- t image_name

然后就成功了。

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

另一种可能出现这种情况的情况是当您缺少要运行的映像时。

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

祝你好运…