Docker部署springboot項目到騰訊云的實現(xiàn)步驟
服務(wù)器的配置
服務(wù)器配置總結(jié)為三個,防火墻,端口,和安全組
1、防火墻
查看防火墻狀態(tài)
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
查看開發(fā)端口
firewall-cmd --list-ports

3、安全組 (云服務(wù)器才配置的,如我用的騰訊云)
安全組是一種虛擬防火墻,具備有狀態(tài)的數(shù)據(jù)包過濾功能,用于設(shè)置云服務(wù)器、負(fù)載均衡、云數(shù)據(jù)庫等實例的網(wǎng)絡(luò)訪問控制,控制實例級別的出入流量,是重要的網(wǎng)絡(luò)安全隔離手段。
您可以通過配置安全組規(guī)則,允許或禁止安全組內(nèi)的實例的出流量和入流量。(截取自騰訊云的文檔)


安裝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、進(jìn)入MySQL容器,有如下就說明mysql沒有問題,安裝成功!!
docker exec -it 容器id /bin/bash

ctrl+p+q可以以后臺運行的方式退出這個容器
4、本地的MySQL可視化軟件連接docker的數(shù)據(jù)庫(我用的是sqlyog)

執(zhí)行sql腳本,導(dǎo)入數(shù)據(jù)庫

將springboot項目打成jar包
1、將applicayion.yml中的url中的localhost改成你服務(wù)器的公網(wǎng)ip,還有將密碼改成你服務(wù)器上mysql的密碼

2、項目打包,雙擊package

如下就打包成功,用的是第一個jar包。
.jar.original 是普通jar包,不包含依賴
.jar是可執(zhí)行jar包,包含了pom中的所有依賴,可以直接用java -jar 命令執(zhí)行

編寫Dockfile文件
將springboot jar包項目打包成Docker鏡像
1、在 /home/下創(chuàng)建docker文件夾

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

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

在vim中編寫如下內(nèi)容保存
FROM java:8 ADD Blog_jpa-0.0.1-SNAPSHOT.jar /blog.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","/blog.jar"]

解釋:
#注意,docker命令全部大寫,這是規(guī)定。 # From 關(guān)鍵字表示,jar包依賴的環(huán)境。java:8 相當(dāng)于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文件夾下執(zhí)行如下命令,生成自定義鏡像
docker build -t blog:1.0 .
解釋:
說明:
blog 代表要打包成的鏡像名稱。按照自己實際情況寫。
:1.0 代表版本號,可以不寫則默認(rèn)為latest
. 代表為當(dāng)前目錄。這就是為什么一直在步驟一文件夾中進(jìn)行操作,并且Dockerfile在此文件夾中的原因。
若之前Dockerfile不在步驟一的文件夾中 則需要指定到對應(yīng)的地址。

5、docker images 就可以查看到這個鏡像已經(jīng)被創(chuàng)建好了,然后運行這個鏡像就可以。

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
到此這篇關(guān)于Docker部署springboot項目到騰訊云的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署springboot到騰訊云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker中編碼和時區(qū)設(shè)置不生效問題排查小結(jié)
本文主要介紹了在Docker容器中排查編碼和時區(qū)設(shè)置不生效的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Docker安裝MS?SQL?Server并使用Navicat遠(yuǎn)程連接的操作方法
SQL?Server支持廣泛的應(yīng)用程序開發(fā)接口(API),包括T-SQL、ADO.NET、ODBC、OLE?DB等,并支持多種操作系統(tǒng),包括Windows、Linux和Docker等,這篇文章主要介紹了Docker安裝MS?SQL?Server并使用Navicat遠(yuǎn)程連接,需要的朋友可以參考下2023-06-06
給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟
在使用Elasticsearch(ES)Docker容器時,有時需要設(shè)置密碼來保護(hù)數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡單步驟,需要的朋友可以參考下2024-02-02
詳解在Docker容器中運行Spring Boot應(yīng)用
本文將以一個最簡單的Spring Boot開發(fā)的Web應(yīng)用為例,講解如何將其容器化運行。本文的重點是構(gòu)建Docker鏡像、運行Docker容器。2017-06-06

