【已解决Win常见问题】docker: Error response from daemon:it needs to be an absolute path.

来源:2-6 go-micro 入门案例编写

只是为了好玩

2021-12-07

先执行以下命令:

 docker pull cap1573/cap-protoc

问题1:
在git bash中执行:
图片描述
在cmd中执行:
图片描述

docker run --rm -v /c/proto:/c/proto -w /c/proto -e ICODE=your_icode cap1573/cap-protoc -I /c/proto --go_out=/c/proto /c/proto/imooc.proto --micro_out=/c/proto

docker: Error response from daemon: the working directory 'C:/proto' is invalid, it needs to be an absolute path.

解决方法1:
不要在GitBash中执行,在cmd中执行:
图片描述
然后将命令中的 ./ 统统换成绝对路径。

注意细节:
windows操作系统的伙伴,一定不要在命令中出现 ./
为什么?
你写了它也会报上面的错:
absolute path
为什么?
因为只有类Unix系统中才能使用 ./ ,windows系统中不支持这种写法,
所以呢,windows操作系统的童鞋把命令中的 ./ 统统换成绝对路径。
是这样的:【/c/proto】

docker run --rm -v /c/proto:/c/proto -w /c/proto -e ICODE=your_icode cap1573/cap-protoc -I /c/proto --go_out=/c/proto /c/proto/imooc.proto --micro_out=/c/proto

注意上面的细节就没问题了。

总结关键词:
cmd 绝对路径 不出现./

写回答

2回答

Cap

2021-12-07

nice

0
1
慕侠5647610
nice、nice、nice、nice终于解决了
2022-03-12
共1条回复

慕后端633751

2021-12-07

您好!我按照您的方式来写还是不对呢

docker run --rm -v /c/Users/16675/go/src/awesomeProject2/proto:/c/Users/16675/go/src/awesomeProject2/proto -w /c/Users/16675

/go/src/awesomeProject2/proto -e ICODE=YourICODE cap1573/cap-protoc -I /c/Users/16675/go/src/awesomeProject2/proto --go_out=/c/Users/16675/go/src/awesomeProjec

t2/proto /c/Users/16675/go/src/awesomeProject2/proto/test1.proto --micro_out=/c/Users/16675/go/src/awesomeProject2/proto


0
5
只是为了好玩
回复
Amber酱呀
你的问题就是: --go_out=xxx --micro=zzz yyy 正确写法是: --go_out=xxx yyy --micro=zzz
2022-04-28
共5条回复

Go微服务入门到容器化实践,落地可观测微服务项目

这可能是你全面提升Go微服务能力的好机会

861 学习 · 322 问题

查看课程