以下是一个示例的 Dockerfile 部署 Java 服务的步骤:
# 基于 Java 镜像构建
FROM openjdk:8u212-jre
#配置参数
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom -Duser.timezone=GMT+8 -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
#设置时区
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 设置工作目录
WORKDIR /app
# 复制 jar 包到镜像里
COPY target/my-app.jar /app/my-app.jar
# 暴露端口
EXPOSE 8080
# 配置启动命令
CMD java $JAVA_OPTS -jar /app/my-app.jar --server.port=8080
在 Dockerfile 所在的目录下执行以下命令会构建 Docker 镜像:
docker build -t my-app .
接着,可以使用下面的命令启动容器并映射到宿主机的 8080 端口:
docker run -p 8080:8080 my-app
这样,Java 服务就可以在容器里运行,并能够通过宿主机的 8080 端口访问了。