赞
踩
1.在 Dockerfile 中指定基础镜像,如 openjdk:8-jdk-alpine。
2.在 Dockerfile 中创建一个工作目录,如 /app。
3.将 jar 包复制到工作目录中,可以使用 COPY 指令。
4.将 yml 配置文件复制到工作目录中,也可以使用 COPY 指令。
5.暴露 jar 包使用的端口,可以使用 EXPOSE 指令。
6.在 Dockerfile 中指定启动命令,如 java -jar app.jar --spring.config.location=/app/config.yml。
下面是一个示例 Dockerfile:
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target/myapp.jar app.jar
COPY config.yml config.yml
EXPOSE 8080
CMD ["java", "-jar", "app.jar", "--spring.config.location=/app/config.yml"]
1.Dockerfile 使用了 openjdk:8-jdk-alpine 作为基础镜像
2.创建了 /app 目录,并将 myapp.jar 和 config.yml 文件复制到了该目录中。
3.暴露了 8080 端口
4.使用 CMD 指令指定了启动命令,其中 --spring.config.location=/app/config.yml 指定了使用 /app/config.yml 文件作为应用程序的配置文件。
要构建这个 Docker 容器,可以使用以下命令:
docker build -t myapp .
其中 myapp 是容器的名称。
要运行这个 Docker 容器,可以使用以下命令:
docker run -p 8080:8080 myapp
其中 -p 参数指定了将容器内部的 8080 端口映射到主机的 8080 端口上,这样可以通过主机的 8080 端口访问应用程序。
假设要挂载主机上的 /myapp.jar 文件,并将其挂载到 Docker 容器中的 /app/myapp.jar 路径上:
docker run -v /myapp.jar:/app/myapp.jar myapp
/myapp.jar 是本地主机上的 jar 文件路径,
/app/myapp.jar 是容器中要挂载的路径,
myapp 是要运行的 Docker 镜像名称
启动命令中不需要指定挂载的 jar 文件路径,因为它已经在容器中挂载了。
注意,如果要使用挂载的 jar 文件来启动应用程序,需要确保在 Dockerfile 中使用了正确的启动命令。启动命令需要使用挂载的 jar 文件路径来启动应用程序,例如:
CMD ["java", "-jar", "/app/myapp.jar", "--spring.config.location=/app/config.yml"]
/app/myapp.jar 是挂载到容器中的 jar 文件路径,
/app/config.yml 是容器中的配置文件路径。
这个启动命令将使用挂载的 jar 文件来启动应用程序,并使用容器中的配置文件来配置应用程序。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。