一. 獲取Jar包
這裏列2種方法:
1.在本地(MAC系統下)將準備打包好的SpringBoot項目的Jar包上傳到linux服務器(通過ftp上傳)
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
服務器時間和本地時間不同步,需要同步時間
https://www.jianshu.com/p/9b23678abcc4
2. unable to prepare context: unable to evaluate symlinks in Dockerfile path
https://blog.csdn.net/s78365126/article/details/87968417
3. 一下午下載不下來docker的原因是虛擬機下centos7的沒網絡。
https://blog.csdn.net/robinson_911/article/details/106694749