您好,登錄后才能下訂單哦!
這篇“Docker怎么部署springboot項目到騰訊云”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Docker怎么部署springboot項目到騰訊云”文章吧。
服務器配置總結為三個,防火墻,端口,和安全組
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、安全組 (云服務器才配置的,如我用的騰訊云)
安全組是一種虛擬防火墻,具備有狀態的數據包過濾功能,用于設置云服務器、負載均衡、云數據庫等實例的網絡訪問控制,控制實例級別的出入流量,是重要的網絡安全隔離手段。
您可以通過配置安全組規則,允許或禁止安全組內的實例的出流量和入流量。(截取自騰訊云的文檔)
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腳本,導入數據庫
1、將applicayion.yml中的url中的localhost改成你服務器的公網ip,還有將密碼改成你服務器上mysql的密碼
2、項目打包,雙擊package
如下就打包成功,用的是第一個jar包。
.jar.original 是普通jar包,不包含依賴
.jar是可執行jar包,包含了pom中的所有依賴,可以直接用java -jar 命令執行
將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項目到騰訊云”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。