![Docker 命令错误(存储库名称组件必须匹配“[a-z0-9]+(?:[._-][a-z0-9]+)*”)](https://linux22.com/image/668052/Docker%20%E5%91%BD%E4%BB%A4%E9%94%99%E8%AF%AF%EF%BC%88%E5%AD%98%E5%82%A8%E5%BA%93%E5%90%8D%E7%A7%B0%E7%BB%84%E4%BB%B6%E5%BF%85%E9%A1%BB%E5%8C%B9%E9%85%8D%E2%80%9C%5Ba-z0-9%5D%2B(%3F%3A%5B._-%5D%5Ba-z0-9%5D%2B)*%E2%80%9D%EF%BC%89.png)
为什么这个命令不起作用?
sudo docker run --name guacamole --link guacd --link mysql \ -e MYSQL_DATABASE=guacamole_db \ -e MYSQL_USER=guacamole_user \ -e MYSQL_PASSWORD=password123 \ -d -p 8181:8080 glyptodon/guacamole
输出为:
Unable to find image ' -e:latest' locally repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*"
http://wiki.univention.com/index.php?title=Cool_Solution_-_Guacamole和http://guac-dev.org/doc/gug/guacamole-docker.html#guacd-docker-image他们的网站上有这个命令作为教程的一部分,但它似乎不正确?
答案1
如果您想使用反斜杠“\”,请确保在新行中输入其后的文本。这里的反斜杠用于在 shell 中将长命令拆分为多行。
就您的示例而言,如果您希望使用反斜杠,这应该适合您。
$ sudo docker run --name guacamole --link guacd --link mysql \
-e MYSQL_DATABASE=guacamole_db \
-e MYSQL_USER=guacamole_user \
-e MYSQL_PASSWORD=password123 \
-d -p 8181:8080 glyptodon/guacamole
答案2
我已经找到了解决这个问题的方法,“\”实际上不应该存在!
sudo docker run --name guacamole --link guacd --link mysql -e MYSQL_DATABASE=guacamole_db -e MYSQL_USER=guacamole_user -e MYSQL_PASSWORD=password123 -d -p 8181:8080 glyptodon/guacamole
将工作 :)