1,docker运行java程序的Dockerfile
# 使用基础镜像
FROM alpine: latest
# 暴露容器的端口 不会自动将容器的端口映射到宿主机上 docker run - d - p < 宿主机端口> : 7080 < 镜像名称>
EXPOSE 9202
EXPOSE 19202
#下载jdk8
RUN apk update && apk add openjdk8# 设置工作目录
WORKDIR / app# 复制应用程序文件到镜像中
COPY . . # 定义容器启动时执行的命令
CMD [ "java" , "-Xms512m" , "-Xmx2048m" , "-DserverId=311" , "-DserviceCenter=127.0.0.1" , "-Dnamespace=gs-test" , "-DserverPort=9202" , "-DhttpPort=19202" , "-jar" , "hall-1.0-SNAPSHOT-gs.jar" ] # 安装 tzdata 包
RUN apk update && apk add -- no- cache tzdata# 设置时区
ENV TZ = Asia / Shanghai
RUN ln - snf / usr/ share/ zoneinfo/ $TZ / etc/ localtime && echo $TZ > / etc/ timezone
2,创建镜像命令
docker build - t javaapp .
3,后台启动 暴露两个端口
docker run -- name javaapp - p 9202 : 9202 - p 19202 : 19202 - d javaapp