我有一个maven项目,它将一个jar文件输出到目标文件夹中。我可以在Dockerfile的copy命令中使用什么相对路径来从目标文件夹中访问jar。
答案 0 :(得分:2)
Docker COPY
命令相对于Dockerfile位置运行。
因此,如果您在项目的根目录中有一个Dockerfile;与目标文件夹相同;那么简单,您可以使用:
docker build .
并使用COPY target/myapp.jar /opt/my_app/lib
另一方面,如果您具有以下项目结构:
然后,您将需要移至项目的根目录并运行:
docker build -f docker/Dockerfile .
(请注意,您也可以导航到docker目录并运行docker build -f Dockerfile ..
)
OS: macOS Catalina 10.15.5
Docker: 19.03.8
答案 1 :(得分:0)
如果Dockerfile位于目录A中,并且您的目录结构是
目录C位于目录A中,位于目录A
中目录C包含您的JAR
COPY /b/c/yourfile.JAR /where/to/copy/it/inside/container
如果您不想将JAR复制到容器中但是仍然想要访问JAR文件,那么您可以考虑创建一个VOLUME