就幾條命令,一鍵學會Docker部署SpringBoot項目

今天,我們使用docker的安裝方式,來安裝一下我們的項目,實驗環境是centos 7系統上,本實驗適用部署大部分Springboot項目。文末有40分鐘的視頻教學哈!

eblog項目地址:

https://github.com/MarkerHub/eblog

####安裝docker

安裝redis
首先上dockerHub搜索redis,點擊進入詳情頁之後,拉到下面就可以看到how to use,如果需要選擇特定的版本,有Supported tags給我們選擇,然後如果拉取最新的版本的話,拉倒下面就教程。

https://hub.docker.com/_/redis

docker run表示運行的意思
–name myredis 表示起個名字叫myredis
-p 6379:6379表示把服務器的6379映射到docker的6379端口,這樣就可以通過服務器的端口訪問docker的端口
-d 表示以後臺服務形式運行redis
redis redis-server --appendonly yes表示開啓持久化緩存模式,可以存到硬盤
####安裝mysql
https://hub.docker.com/_/mysql
MYSQLROOTPASSWORD=admin表示root的初始密碼
mysql:5.7.27表示操作的是mysql的5.7.27版本,沒有後面的版本號的話,默認是拉取最新版本的mysql。

連上mysql,創建數據庫eblog,然後把數據庫腳本導入進去。腳本位置:https://github.com/MarkerHub/eblog/blob/master/eblog.sql
####安裝RabbitMq
一行命令搞定,注意RABBITMQDEFAULTPASS=password是設置密碼的意思哈。

docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672-p 5672:5672 rabbitmq:management
####安裝ElasticSearch
docker 安裝 Elasticsearch6.4.3版本 及中文插件安裝。
系統配置
不配置的話,可能會啓動失敗
具體報錯:max virtual memory areas vm.maxmapcount [65530] is too low, increase to at least [262144]。
解決:
sudo sysctl -w vm.maxmapcount=262144
啓動 ES
docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3
進入鏡像
docker exec -it es_643 /bin/bash
es配置文件位置:/usr/share/elasticsearch/config/elasticsearch.yml
安裝中文分詞插件
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip
退出並重啓鏡像

exit
docker restart es_643
####構建eblog的docker鏡像
接下來,我們需要先去clone eblog博客項目,對項目進行打包成jar包。

然後把項目 eblog-0.0.1-SNAPSHOT.jar 包上傳到服務器中 同eblog-0.0.1-SNAPSHOT.jar的目錄,創建一個名稱爲Dockerfile文件。

內容如下:

Dockerfile

FROM java:8 表示基於jdk8環境
EXPOSE 8080 表示對外暴露的端口是8080
VOLUME /tmp 表示掛載到/tmp目錄
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar 表示把jar包複製到鏡像服務裏面的根目錄,並改名稱app.jar
RUN bash -c ‘touch /app.jar’ 表示執行創建app.jar
ENTRYPOINT [“java”,"-jar","/app.jar"] 表示執行啓動命令java -jar
接下來,我們安裝Dockrfile的命令,把eblog-0.0.1-SNAPSHOT.jar構建成docker的鏡像。

#構建鏡像,注意後面有個點哈。

docker build 
-
t eblog 
.
#查看鏡像
docker images

這步驟完成之後,我們就可以在準備工作就已經完成啦,接下來,我們就直接啓動我們的項目哈。

####啓動eblog項目
啓動命令如下:
docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog
-p 8080:8080 -p 9326:9326 :9326是因爲即時聊天需要用到的ws端口 --link es:ees 表示關聯容器,把容器es起別名爲ees

查看eblog打印日誌

docker logs 
-
f eblog

這時候我們查看就可以通過8080端口訪問我們的項目了!!!

到此項目運行成功!!

總結
使用docker compose編排形式會更簡單!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章