我正在遵循使用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构建。

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

Docker构建。- t image_name

然后就成功了。

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

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

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

这导致docker推送repo/image_name:。

抛出docker: invalid引用格式。

在我的情况下,问题是在完整的路径文件夹与回购,我使用终端和docker。我是这样的: 回购(1)/回购 将文件夹重命名为 回购/回购 它会有所帮助

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

发现使用docker-compose配置报告了问题所在。

在我的例子中,是一个重写compose文件,其中有一个条目没有重写任何内容。