【发布时间】:2020-06-12 01:42:34
【问题描述】:
我有一个将 jar 文件输出到目标文件夹的 maven 项目。我可以在 Dockerfile 中的复制命令中使用什么相对路径来从目标文件夹中访问 jar。
【问题讨论】:
标签: docker dockerfile
我有一个将 jar 文件输出到目标文件夹的 maven 项目。我可以在 Dockerfile 中的复制命令中使用什么相对路径来从目标文件夹中访问 jar。
【问题讨论】:
标签: docker dockerfile
Docker COPYcommand 相对于 Dockerfile 位置运行。
因此,如果您的项目根目录中有 Dockerfile;与目标文件夹相同;然后你可以简单地使用:
docker build . 并使用COPY target/myapp.jar /opt/my_app/lib
另一方面,如果您有这样的项目结构:
然后你需要移动到项目的根目录并运行:
docker build -f docker/Dockerfile .
(你也可以导航到 docker 目录并运行 docker build -f Dockerfile ..)
操作系统:macOS Catalina 10.15.5
Docker:19.03.8
【讨论】:
如果 Dockerfile 位于目录 A 中,而您的目录结构是
目录C在目录B里面,目录B在目录A里面
目录 C 包含您的 JAR
COPY /b/c/yourfile.JAR /where/to/copy/it/inside/container
如果您不想将 JAR 复制到容器中但仍想访问 JAR 文件,那么您可以考虑创建一个 VOLUME
【讨论】: