我正在使用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
请问好吗?
答案 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