前言
搭配了Alibaba Clould Toolkit使用,仅供参考。
Dockfile
FROM --- # java运行环境
ENV PARAMS="--server.port=8080"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY *.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["/bin/sh","-c","java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8090 -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]
脚本文件
#!/usr/bin/env bash
app_name='app'
app_version='1.0-SNAPSHOP'
docker stop ${app_name}
docker rm -f ${app_name}
docker rmi -f ${app_name}:${app_version}
docker build -t ${app_name}:${app_version} .
sudo docker run -d -p 15000:8080 -p 15001:8090 --name ${app_name} ${app_name}:${app_version}
echo '---start container---'
总结
Dockerfile追加DBUG命令指定相应端口,脚本文件除了程序包使用的端口外,增加一个端口映射用来DBUG,最后IDEA设置相应Remote即可。