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、進入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 作者名稱??梢詣h除不寫。 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)前目錄。這就是為什么一直在步驟一文件夾中進行操作,并且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)文章
最新IDEA快速實現(xiàn)Docker鏡像部署運行的過程詳解
這篇文章主要介紹了最新IDEA快速實現(xiàn)Docker鏡像部署運行的過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09阿里云CentOS 6.5 安裝Docker詳細(xì)步驟
這篇文章主要介紹了阿里云CentOS 6.5 安裝Docker的相關(guān)資料,現(xiàn)在都是云時代和大數(shù)據(jù)時代,希望大家也能跟著時代的步伐,需要的朋友可以參考下2016-10-10詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2
這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker部署Tomcat并開放8082端口的實現(xiàn)步驟
本文主要介紹了Docker部署Tomcat并開放8082端口的實現(xiàn)步驟,首先安裝docker環(huán)境,創(chuàng)建tomcat鏡像,隨后開放端口,具有一定的參考價值,感興趣的可以了解一下2023-10-10使用docker創(chuàng)建和運行跨平臺的容器化mssql數(shù)據(jù)庫
這篇文章主要介紹了使用docker創(chuàng)建和運行跨平臺的容器化的mssql數(shù)據(jù)庫,本章介紹了在window10專業(yè)版下如何利用docker創(chuàng)建mssql數(shù)據(jù)庫,需要的朋友可以參考下2022-05-05