2017-09-06 79 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" 

,你就會知道什麼是錯的