我正在尝试为像here这样的数据流服务创建一个docker Image。
当我尝试使用所有必需的依赖项(pip依赖项,bazel,grpc)提取docker镜像时
我在这里做错了什么?我相信它适用于除我之外的所有人。 我在Windows 7中使用docker工具箱,这是我第一次使用docker。我不知道这个错误说的是什么
Docker版本
答案 0 :(得分:3)
docker build
命令中有一个拼写错误: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
答案 1 :(得分:2)
问题是$USER
正在扩展为空字符串,因为没有环境变量USER
。
要解决此问题,只需使用您的Dockerhub用户名或任何用户名替换$USER
。您也可以将$USER/tensorflow-serving-devel
更改为tensorflow-serving-devel
。这没关系
因为这只是结果图像的名称。
答案 2 :(得分:0)
在我遇到相同错误的情况下,问题出在图像标签中,同时出现了“ -”和“ _ ”符号的组合。因此,像MMT-6352_-_fix
这样的图片标签是无效的,但是像MMT-6352_fix
或MMT-6352-fix
这样的图片标签是有效的。
答案 3 :(得分:0)
在我的例子中,我正在创建一个带有最近 git commit 哈希值的环境变量,这个哈希值将是我要构建的 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