Docker 使用 $(pwd) 时引用无效 mac os

Docker invalid reference when using $(pwd) mac os

//在容器

上运行androidsdk
docker run -it — rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk bash -c 'cp -a $ANDROID_HOME/. /sdk'

抛出以下错误

docker: invalid reference format.
See 'docker run --help'.

当命令中给出的 docker 图像名称无效时会出现此问题。请试试这个命令

docker run -it — rm -v "$(pwd)/sdk:/sdk thyrlian/android-sdk" bash -c 'cp -a $ANDROID_HOME/. /sdk'

您需要在交互式终端中 运行 的确切命令是什么?

在你的情况下,

"-rm"不正确,-和rm之间应该没有space,所以应该是-rm

其次,应该是--rm然后重试。

docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk bash -c 'cp -a $ANDROID_HOME/. /sdk'

您在错误的命令中寻找的太过分了。在这种情况下,它更早。在这个命令中:

docker run -it — rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk bash -c 'cp -a $ANDROID_HOME/. /sdk'

无效的图像名称是长破折号:rm 需要两个普通破折号(因为它不是像 -i-t 那样的单一字符样式 arg)。这些是您用键盘输入的破折号,您可能从某些编辑器中复制并粘贴了这些破折号。正确的命令是:

docker run -it --rm -v "$(pwd)/sdk:/sdk" thyrlian/android-sdk bash -c 'cp -a $ANDROID_HOME/. /sdk'

请注意,您应该始终引用路径,因为它可能包含 space,这也会破坏 args 的解析。