一. 获取Jar包
这里列2种方法:
1.在本地(MAC系统下)将准备打包好的SpringBoot项目的Jar包上传到linux服务器,通过ftp上传或者命令上传:
scp /Users/sunww/Downloads/demo/target/demo-0.0.1-SNAPSHOT.jar root@10.211.55.4:/docker
2.将SpringBoot项目上传到Linux上,然后通过Maven打包出Jar包。
mvn package 打包,如下:
二. 创建一个文件夹docker ,里面有刚刚上传的SpringBoot jar包和Dockerfile文件
docker-demo-0.0.1-SNAPSHOT.jar Dockerfile(命名必须如此,否则找不到)
Dockerfile文件内容如下:
FROM java:8-alpine
ADD docker-demo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
三. 打镜像文件
命令:docker build -t hellodocker .
docker build -t hellodocker . 打包成镜像文件,文件名为hellodocker。最后的点不能忘记,代表的是当前路径下
四.使用Docker运行 Spring Boot 项目
1. 后台启动hellodocker镜像(不会打印镜像APP执行时的日志文件)
docker run -d -p 8080:8080 hellodocker
2.前端启动hellodocker镜像(打印镜像APP执行时的日志文件)
docker run -p 8080:8080 hellodocker
Docker其他命令如下:
停止运行容器(fca333c9ce5f代表容器id)
docker stop fca333c9ce5f
删除容器
docker rm fca333c9ce5
运行docker ps,可见所有运行中的容器
docker images
查看本地所有的镜像文件
五.访问应用程序
浏览器中输入 http://10.211.55.5:8080/,可以看到访问正常,界面如下
六.遇到的问题:
1. docker x509: certificate has expired or is not yet valid
服务器时间和本地时间不同步,需要同步时间
2. unable to prepare context: unable to evaluate symlinks in Dockerfile path
https://blog.csdn.net/s78365126/article/details/87968417
3. 一下午下载不下来docker的原因是虚拟机下centos7的没网络。