首頁 > 軟體

Docker部署springboot專案到騰訊雲的實現步驟

2022-04-08 19:00:42

伺服器的設定

伺服器設定總結為三個,防火牆,埠,和安全組

1、防火牆

檢視防火牆狀態

firewall-cmd --state

沒有開啟則開啟防火牆

systemctl start firewalld.service

2、埠

新增對外開放的埠

firewall-cmd --zone=public --add-port=埠號/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

重新載入防火牆

firewall-cmd --reload

檢視開發埠

firewall-cmd --list-ports

3、安全組 (雲伺服器才設定的,如我用的騰訊雲)

安全組是一種虛擬防火牆,具備有狀態的封包過濾功能,用於設定雲伺服器、負載均衡、雲資料庫等範例的網路存取控制,控制範例級別的出入流量,是重要的網路安全隔離手段。
您可以通過設定安全組規則,允許或禁止安全組內的範例的出流量和入流量。(擷取自騰訊雲的檔案)

安裝MySql

1、拉取mysql版本,這裡是mysql5.7

docker pull mysql:5.7

2、執行mysql,開放的埠是3306,密碼是123456, -d是後臺執行

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

2.1 如果報錯,就重啟docker

systemctl restart docker

如果還報錯如:已有該容器

2.2 檢視容器,刪除容器

檢視正在執行的容器:	docker ps
檢視所有容器:	  docker ps –a
檢視最後一次執行的容器:	docker ps –l
檢視停止的容器:	docker ps -f status=exited
docker rm 容器名稱(容器ID)例如:docker rm mysql

3、進入MySQL容器,有如下就說明mysql沒有問題,安裝成功!!

docker exec -it 容器id /bin/bash

ctrl+p+q可以以後臺執行的方式退出這個容器

4、原生的MySQL視覺化軟體連線docker的資料庫(我用的是sqlyog)

執行sql指令碼,匯入資料庫

將springboot專案打成jar包

1、將applicayion.yml中的url中的localhost改成你伺服器的公網ip,還有將密碼改成你伺服器上mysql的密碼

2、專案打包,雙擊package

如下就打包成功,用的是第一個jar包。

.jar.original 是普通jar包,不包含依賴
.jar是可執行jar包,包含了pom中的所有依賴,可以直接用java -jar 命令執行

編寫Dockfile檔案

將springboot jar包專案打包成Docker映象

1、在 /home/下建立docker資料夾

2、使用xftp上傳jar包到/home/docker/

3、在/home/docker目錄下,輸入如下指令,開始編寫Dockerfile檔案

vim Dockerfile

在vim中編寫如下內容儲存

FROM java:8
ADD Blog_jpa-0.0.1-SNAPSHOT.jar /blog.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/blog.jar"]

解釋:

#注意,docker命令全部大寫,這是規定。
#   From 關鍵字表示,jar包依賴的環境。java:8  相當於jdk1.8
FROM java:8
 
#ADD命令 
#   blog-0.0.1-SNAPSHOT.jar:這是你上傳jar包的名稱。
#   /blog.jar:這是自定義的名稱。但是注意要有之前的/
ADD blog-0.0.1-SNAPSHOT.jar /blog.jar
 
#MAINTAINER  作者名稱。可以刪除不寫。
MAINTAINER zhangxiaosan
 
#EXPOSE 專案暴露的埠號
EXPOSE 8080
 
#/blog.jar此處的名稱要和ADD命令後面的一樣。
ENTRYPOINT ["java","-jar","/blog.jar"]

4、在docker資料夾下執行如下命令,生成自定義映象

docker build -t blog:1.0 .

解釋:
說明:
  blog   代表要打包成的映象名稱。按照自己實際情況寫。
  :1.0   代表版本號,可以不寫則預設為latest
  .    代表為當前目錄。這就是為什麼一直在步驟一資料夾中進行操作,並且Dockerfile在此資料夾中的原因。
若之前Dockerfile不在步驟一的資料夾中 則需要指定到對應的地址。

5、docker images 就可以檢視到這個映象已經被建立好了,然後執行這個映象就可以。

docker run --name blog -d -p 80:8080 blog:1.0

docker logs 容器id 檢視容器執行紀錄檔

部署完成!!!

存取

刪除重做(更新)映象

更新了專案,把原來部署的jar包刪除,容器映象都刪除,然後將新的jar放到 /home/docker 下,在執行生成新映象

1、刪除原來的專案jar包的容器和映象

可以按照映象id刪除映象,命令如下:docker rmi 映象ID
刪除單個映象(-f 強制刪除):docker rmi  -f 映象ID

1.	刪除指定的容器:
docker rm 容器名稱(容器ID)
例如:docker rm mycentos11
2.	刪除容器的時候,如果容器在執行,會報錯,必須先停止容器
# 檢視正在執行的容器
docker ps
# 刪除正在執行的容器
docker rm mycentos11
# 停止容器
docker stop mycentos11
啟動容器
docker start 容器名稱(或者容器ID)
例如: docker start mycentos2
# 檢視所有容器
docker ps -a

2、將jar包更新後,生成新映象

docker build -t blog:1.0 .

3、執行映象

docker run --name blog -d -p 80:8080 blog:1.0

到此這篇關於Docker部署springboot專案到騰訊雲的實現步驟的文章就介紹到這了,更多相關Docker部署springboot到騰訊雲內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com