我正在尝试使 grpc-wiremock 的示例工作:本质上就是这个
docker run -p 8888:8888 -p 50000:50000 -v $(pwd)/example/proto:/proto -v $(pwd)/example/wiremock:/wiremock adven27/grpc-wiremock
命令,我想编辑它的 Dockerfile 以避免使用卷,但是当我尝试时:
# https://github.com/Adven27/grpc-wiremock/blob/master/Dockerfile#L12-L13
COPY . /usr/src/java-code/
COPY example/my_proto /usr/src/java-code/proto <--- added line
WORKDIR /usr/src/java-code
然后
➜ grpc-wiremock git:(master) ✗ docker build -t foo .
➜ grpc-wiremock git:(master) ✗ docker run -it -p 8888:8888 -p 50000:50000 foo
该服务似乎没有选择该 proto
目录:
Registered services:
* grpc.reflection.v1alpha.ServerReflection
# expected to see some new services
当我执行一个容器时,我可以看到有 proto
目录并且它不是空的但它仍然没有被拾取(我希望它会取代 -v $(pwd)/example/my_proto:/proto
):
root@44704a7f07ad:/usr/src/java-code# ls
build build.gradle Dockerfile example gradle gradle.properties gradlew gradlew.bat LICENSE proto README.md settings.gradle src
root@44704a7f07ad:/usr/src/java-code# cd proto/
root@44704a7f07ad:/usr/src/java-code/proto# ls
bar.proto foo_folder_with_other_protos
如何编辑 Dockerfile 以避免完全使用卷?
答案 0 :(得分:0)
看来我需要添加
COPY example/my_proto /proto # instead of /usr/src/java-code/proto