“-t,--tag”flag:Invalid 参考格式的参数“/tensorflow-serving-devel”无效
Invalid argument "/tensorflow-serving-devel" for "-t,--tag" flag:Invalid reference format
我正在尝试为像 here 这样的 tensforflow 服务创建 docker 图片。
当我尝试使用所有必需的依赖项(pip 依赖项、bazel、grpc)拉取 docker 图像时
我在这里做错了什么?我相信它适用于除我以外的所有人。
我在 windows 7 中使用 docker 工具箱,这是我第一次使用 docker。我不知道这个错误是什么意思
编辑:删除 space 后
Docker版本
您的 docker build
命令中有错别字:space 在 Dockerfile
单词之后。
正确的命令是:
docker build --pull -t $USER/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .
编辑:
我明白你的问题出在哪里了。您使用 Windows,因此 $USER
未解析为用户名。请将其更改为其他内容,例如:
docker build --pull -t user/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .
然后与docker run
命令一起使用:
docker run --name=tensorflow_container -it user/tensorflow-serving-devel
问题是 $USER
正在扩展为空字符串,因为没有环境变量 USER
。
要解决此问题,只需将 $USER
替换为您的 Dockerhub 用户名或任何用户名。您也可以将 $USER/tensorflow-serving-devel
更改为 tensorflow-serving-devel
。真的没关系
因为这只是结果图像的名称。
在我遇到同样错误的情况下,问题出在“-”和“_”符号组合在一起图片标签。所以像 MMT-6352_-_fix
这样的图片标签是无效的,但是像 MMT-6352_fix
或 MMT-6352-fix
这样的图片标签是有效的。
在我的例子中,我正在创建一个环境变量,其中包含最近 git 提交的哈希值,这个哈希值将是我要构建的 docker 图像的标签。
所以我的文件(比如 deploy.sh
)看起来像这样:
GIT_SHA = $(git rev-parse HEAD)
docker build -t user/myimage:$GIT_SHA
然后,我收到错误提示
deploy.sh: line 2: GIT_SHA: command not found
invalid argument "user/myimage:" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.
我通过删除 =
前后的空格来修复它,如下所示:
GIT_SHA=$(git rev-parse HEAD)
docker build -t user/myimage:$GIT_SHA
我正在尝试为像 here 这样的 tensforflow 服务创建 docker 图片。
当我尝试使用所有必需的依赖项(pip 依赖项、bazel、grpc)拉取 docker 图像时
我在这里做错了什么?我相信它适用于除我以外的所有人。 我在 windows 7 中使用 docker 工具箱,这是我第一次使用 docker。我不知道这个错误是什么意思
编辑:删除 space 后
Docker版本
您的 docker build
命令中有错别字:space 在 Dockerfile
单词之后。
正确的命令是:
docker build --pull -t $USER/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .
编辑:
我明白你的问题出在哪里了。您使用 Windows,因此 $USER
未解析为用户名。请将其更改为其他内容,例如:
docker build --pull -t user/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .
然后与docker run
命令一起使用:
docker run --name=tensorflow_container -it user/tensorflow-serving-devel
问题是 $USER
正在扩展为空字符串,因为没有环境变量 USER
。
要解决此问题,只需将 $USER
替换为您的 Dockerhub 用户名或任何用户名。您也可以将 $USER/tensorflow-serving-devel
更改为 tensorflow-serving-devel
。真的没关系
因为这只是结果图像的名称。
在我遇到同样错误的情况下,问题出在“-”和“_”符号组合在一起图片标签。所以像 MMT-6352_-_fix
这样的图片标签是无效的,但是像 MMT-6352_fix
或 MMT-6352-fix
这样的图片标签是有效的。
在我的例子中,我正在创建一个环境变量,其中包含最近 git 提交的哈希值,这个哈希值将是我要构建的 docker 图像的标签。
所以我的文件(比如 deploy.sh
)看起来像这样:
GIT_SHA = $(git rev-parse HEAD)
docker build -t user/myimage:$GIT_SHA
然后,我收到错误提示
deploy.sh: line 2: GIT_SHA: command not found
invalid argument "user/myimage:" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.
我通过删除 =
前后的空格来修复它,如下所示:
GIT_SHA=$(git rev-parse HEAD)
docker build -t user/myimage:$GIT_SHA