Spring Boot集成Docker部署教程
前言
Docker有时候确实易用,但Spring Boot官方好像并不推荐这种方式,按照个人理解 应该是Spring Boot已经做了一个很优秀的集成,对于Docker这种容器化让开发人员不能专注于开发...
附文为Spring Boot官方教程: https://spring.io/guides/topicals/spring-boot-docker/
正文
环境是JDK11,Maven环境
编写DockerFile
FROM eclipse-temurin:11-jdk-alpine VOLUME /appCOPY target/*.jar /app/app.jar
ENTRYPOINT ["java","-jar","/app/app.jar"]
执行build
docker build -t hengrui/myapp .
启动容器
#我这里开发的时候使用是8083端口 docker run -p 8083:8083 hengrui/myapp
#或者映射本地的volume
docker run -p 8081:8081 --name backupitems(容器的名称) -v D:\temp2:/app -d hengrui/backupitems(镜像的名称)
#或者映射本地的volume-linux
docker run -p 8081:8081 --name backupitems -v /opt/tomcat:/app -d hengrui/backupitems(镜像的名称)
浏览器效果
时区问题
Docker里的时区可能是UTC标准时间,可以参考以下修改时区
进入容器 docker exec -it 容器ID /bin/bash 修改本地时区 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/timezone 重启容器 docker restart 容器ID
查看镜像运行信息
docker inspect 镜像ID
总结
我的理解是官方不太推荐容器化部署,IT技术发展的太快,对于普通应用开发人员,已经无法专注于代码开发,还要了解部署,如果是容器化部署,还要学习CI/CD,加油,代码人!