2017-09-06 41 views
0

我遇到了码头运行语法的问题......我已经尝试了这两个命令,他们似乎都在最后一行生成错误消息。码头运行图像差异不能正确执行

docker run --rm ${DOCKER_ARGS} -i ${BUILD_IMAGE} /bin/bash -c "diff /usr/local/bin/protoc /go/bin/protoc2" 

docker run --rm ${DOCKER_ARGS} -i ${BUILD_IMAGE} diff /usr/local/bin/protoc /go/bin/protoc2 

diff: /go/bin/protoc2/protoc: No such file or directory 

我错过了什么语法?我不知道为什么它没有正确运行我的命令。

+0

是文件'/去/斌/ protoc2/protoc'主机或容器里面?因为它似乎不在容器内 –

+0

同时检查'/ go/bin/protoc2'是否是一个目录 –

+0

'/ go/bin/protoc2/protoc'不存在。我试图用'/ go/bin/protoc2'来区分'/ usr/local/bin/protoc',这是一个二进制文件。/go/bin/protoc2被挂载了-v(不包括在内)。 – user3125693

回答

0
$ sudo cp /bin/ls /bin/ls2 
$ docker run --rm -v /bin/ls2:/bin/ls2 ubuntu:16.04 diff /bin/ls /bin/ls2 
Binary files /bin/ls and /bin/ls2 differ. 

所以我很确定你的本地挂载不存在并创建一个目录。

更改运行语句

docker run --rm ${DOCKER_ARGS} -i ${BUILD_IMAGE} /bin/bash -c "ls -alh /go/bin/protoc2 && diff /usr/local/bin/protoc /go/bin/protoc2" 

,你就会知道什么是错的