以下是一个基本的 Dockerfile 部署 Java 程序的示例:
# 基础镜像,这里选择 openjdk:8-jdk-alpine 作为基础镜像
FROM openjdk:8-jdk-alpine
# 作者信息
MAINTAINER Your Name <your@email.com>
# 将应用程序复制到容器中
COPY target/myapp.jar /opt/myapp/
# 设置工作目录
WORKDIR /opt/myapp
# 暴露端口
EXPOSE 8080
# 启动命令
CMD ["java", "-jar", "myapp.jar"]
上面的 Dockerfile 中:
- 使用了 openjdk:8-jdk-alpine 作为基础镜像,因为它拥有较小的镜像体积,适合部署微服务。
- 将本地目录下的 target/myapp.jar 复制到容器中的 /opt/myapp 目录下。
- 设置工作目录为 /opt/myapp。
- 暴露 8080 端口。
- 最后通过 CMD 指定启动命令,即 java -jar myapp.jar。
可以通过以下步骤构建并运行该 Docker 镜像:
- 在应用程序根目录下执行 maven 打包命令:
mvn clean package
,生成 myapp.jar 文件。 - 进入 Dockerfile 所在目录,执行
docker build -t myapp .
构建 Docker 镜像。 - 执行
docker run -p 8080:8080 myapp
启动容器。
这时候你可以通过浏览器访问 http://localhost:8080 来访问应用程序了。