javascript
史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!
在學(xué)習(xí)編程的時(shí)候,我們都會(huì)想,該怎么把自己寫出來的項(xiàng)目和創(chuàng)意分享給大家勒。直接給代碼嗎?平常人看不懂,環(huán)境還需要一大堆。
那么部署到服務(wù)器上,讓人能夠直接訪問,我想這應(yīng)該是最棒的方式了吧。
使用Docker 的話,那么就是讓這個(gè)方便變得更加的便捷啦。
來源: 說唱新時(shí)代 魚翅Fin《我是我最后的目擊者》
一、前言
我寫這個(gè)博客前已經(jīng)將我需要的mysql、redis等等都安裝好了。安裝redis的博客、我之前也寫啦的。
在這里只講怎么將項(xiàng)目放到服務(wù)器上的docker上去跑,環(huán)境還是需要自己搭建的。
項(xiàng)目中用到什么,就要在docker中安裝什么。
本人項(xiàng)目環(huán)境:
jdk11 、mysql 5.7、redis
項(xiàng)目結(jié)構(gòu)
如果想要idea 中dockerfile 文件高亮的話,在idea下載一下docker插件
二、具體步驟:
1、打成jar包
1、將運(yùn)行的項(xiàng)目使用maven打成jar包,率先放在本地測試,看有沒有問題。
我這個(gè)是一個(gè)springboot項(xiàng)目 點(diǎn)擊maven的打包之后 ,就會(huì)生成一個(gè)jar 包
然后在命令行編譯它。
自己然后再在瀏覽器內(nèi)進(jìn)行測試。看是否可以運(yùn)行。
成功的話,接下來就開始寫Dockerfile文件。
2、Dockerfile文件內(nèi)容
我用的是jdk11
FROM openjdk:11 # FROM: 基礎(chǔ)鏡像,基于jdk8鏡像開始COPY *.jar /app.jar # COPY: 將應(yīng)用的配置文件也拷貝到鏡像中。CMD ["--server.port=8080"]EXPOSE 8080 # EXPOSE:聲明端口ENTRYPOINT ["java","-jar","/app.jar"] # ENTRYPOINT:docker啟動(dòng)時(shí),運(yùn)行的命令,這里容器啟動(dòng)時(shí)直接運(yùn)行jar服務(wù)。3、上傳
上傳jar包和dockerfile文件到服務(wù)器上去。
4、打包成docker鏡像
我一開始的話 已經(jīng)在服務(wù)器上把文件夾建好了…
就直接去這個(gè)文件下查看文件就好拉。
查看無誤后 用docker的打包命令 將這兩個(gè)一起打包成一個(gè)鏡像。 必須這兩個(gè)東西都在一個(gè)文件下,才可以。
docker build -t news_school_web1 .注: 先將最重要的, 最后是有一個(gè)小數(shù)點(diǎn)的,千萬不要忘了。
- docker bulid 是打包命令
- -t ? 給鏡像加一個(gè)Tag
- 后面跟的 news_school_web1 就是為這個(gè)鏡像取的名字
- . 小數(shù)點(diǎn)表示當(dāng)前目錄,即Dockerfile所在目錄
成功的話 應(yīng)該是這樣子的
當(dāng)然這樣是不夠的,我們輸入命令去查看一下。 看有沒有這個(gè)鏡像。
docker images5、啟動(dòng)鏡像
docker run -d -p 8686:8686 --name news_web_test news_school_web1- -d 是后臺(tái)運(yùn)行
- -p 8686:8686 是端口映射
- –name 取名字
- 最后跟的 news_school_web1 是我打包好的鏡像名稱。
查看
6、測試
-
先在服務(wù)器測試 成功返回我的頁面
-
接著在外網(wǎng)測試
http://IP地址:8686/login
我用的是post測試,成功返回自己的數(shù)據(jù),就代表已經(jīng)成功在運(yùn)行拉。
日常自言自語
想著這一次將過程好好記錄下來,在能夠幫助到自己的同時(shí),再幫助到其他人。😊
下一篇部署前端的已經(jīng)在著手準(zhǔn)備了,只是還沒寫完。
總結(jié)
以上是生活随笔為你收集整理的史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 史上最详细Docker安装Redis (
- 下一篇: JavaWeb 入门篇(1)Maven创