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

其他回答

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

祝你好运…

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

 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.

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

谢谢:)

所以在我的案例中,问题是这个命令是“非法的”。以一种不受支持的格式,这是我在官方文档中发现它后最不希望发生的事情,但它就是这样。确保您使用了正确的命令。

我遇到的一个问题是,在我的配置skaffold config list -a中,我的默认-repo被设置为https://docker-registry.url.com,如下所示:

kubeContexts:
- kube-context: minikube
  default-repo: https://docker-registry.url.com

但是,正确的方法应该是没有https://:

kubeContexts:
- kube-context: minikube
  default-repo: docker-registry.url.com

如果其他人击中它,则导致此错误的另一个变体是由路径规范上的末尾/或\引起的。

即-v c:\mystuff:c:\mappedfolder工作

但是:-v c:\mystuff\:c:\mappedfolder没有

“我的东西”后面哪里多了一个“\”