今天,我們使用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編排形式會更簡單!