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

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


当前回答

我删除了()并像这样为我工作 Docker运行-d -v $pwd/envoy.yaml:/etc/envoy/envoy。Yaml:ro -p 8080:8080 -p 9901:9901 我用的是windows 10

其他回答

我也遇到过类似的问题。 我遇到的问题是$(pwd)有一个空间在那里抛出码头运行。

将目录名更改为不包含空格,如果这是问题所在,它应该可以工作

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

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

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

这导致docker推送repo/image_name:。

抛出docker: invalid引用格式。

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

其他人来这里: 如果您碰巧将docker命令放在一个文件中,例如run.sh,请检查行分隔符。在Linux中,它应该是LR,否则您将得到相同的错误。

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

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