Docker命令返回“无效的引用格式”

时间:2017-11-22 13:01:39

标签: docker

我正在使用docker并使用以下命令:

ndf

指向我的docker run -d -p 9090:80 -v $(pwd):/usr/share/nginx/html nginx:alpine 文件夹,其中我的app文件是由angular编译的。

我首先转到/dist文件夹,然后从那里运行命令。这工作正常,我能够通过端口/dist到达应用程序,但在更新docker之后,我错误地运行:

  

docker:参考格式无效。   请参阅'docker run --help'。

我一直在搜索并检查以下帖子docker : invalid reference format,但它似乎与我的问题不同。 以下是基于命令的信息: 9090

docker version

请问好吗?

3 个答案:

答案 0 :(得分:15)

Docker在图片名称之前看到了一些意想不到的东西,让你认为除nginx:alpine以外的命令中的某些内容是你的图像名称。在您的每个选项之前,这可能是无效的-,通常可以通过网络上的复制/粘贴看到。它也可能是你路径中的一个空间。如果它像路径中的空格一样简单,那么引用它将解决:

docker run -d -p 9090:80 -v "$(pwd):/usr/share/nginx/html" nginx:alpine

如果上述两个问题无法解决您的问题,请首先确保以下方法有效:

docker run nginx:alpine

然后将单个参数添加回命令,直到找到打破它的那个。请特别注意args的顺序,run的参数必须介于run和您的图片名称之间。图像名称后的Args作为要运行的命令传递。 run之前的参数是docker顶级命令的选项。

答案 1 :(得分:0)

好像你某处有一个无效的名字。您是否尝试输出 pwd

尝试使用静态路径更改 pwd

看看它可能对您有帮助的文档 https://docs.docker.com/v1.10/engine/reference/commandline/run/#mount-volume-v-read-only

答案 2 :(得分:0)

您的$(pwd)具有不喜欢的字符(例如空格)。尝试在其周围使用引号:

docker run -d -p 9090:80 -v "$(pwd)":/usr/share/nginx/html nginx:alpine