如果Dockerfile的全路径为/srm/myDockerfile/Dockerfile,而JAR文件位于/srm目录下,你可以在Dockerfile中使用相对路径引用JAR文件。以下是如何编写Dockerfile的示例:
假设你的项目结构如下:
luaCopy code
/srm
|-- myDockerfile
|-- your-app.jar
Dockerfile的路径是**/srm/myDockerfile/Dockerfile**,如下:
DockerfileCopy code
# 使用官方的 OpenJDK 11 基础镜像
FROM openjdk:11# 设置工作目录,Dockerfile所在的目录是/srm/myDockerfile
WORKDIR /srm/myDockerfile# 复制 JAR 文件到容器中的工作目录,通过相对路径引用JAR文件
COPY ../../your-app.jar .# 你可以添加其他需要的步骤,例如设置环境变量、端口等# 启动应用程序
CMD ["java", "-jar", "your-app.jar"]
在这个Dockerfile中,工作目录被设置为/srm/myDockerfile,即Dockerfile所在的目录。然后,使用COPY命令通过相对路径…/…/引用上级目录来复制JAR文件到容器内的工作目录。
接下来,你可以按照之前的步骤使用Docker构建镜像和运行容器:
- 在宿主机的/srm目录中,打开终端。
- 使用以下命令构建Docker镜像(将镜像命名为my-app-image,可以根据需要进行更改):
bashCopy code
docker build -t my-app-image -f myDockerfile/Dockerfile .
- 使用以下命令运行容器:
bashCopy code
docker run -p 8080:8080 my-app-image
这将在容器中启动你的Java应用程序,可以通过localhost:8080访问它。确保根据你的应用程序的实际需求修改Dockerfile和Docker运行命令。