Docker快速部署SpringBoot項目介紹
1、安裝 Docker
首先打開linux環境,輸入以下命令進行安裝:
安裝 yum install docker 檢查是否安裝成功 docker --version #啟動 systemctl start docker
如果下載很慢,可以切換到國內的阿裡雲鏡像,進行下載:
換鏡像源 sudo vim /etc/docker/daemon.json 內容如下: { "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"] } 保存退出,重啟docker: systemctl restart docker
2、安裝 Redis
首先在DockerHub搜索redis,點擊進入詳情頁之後,拉到下面就可以看到how to use,如果需要選擇特定的版本,有Supported tags給我們選擇,然後如果拉取最新的版本的話,拉到下面就命令教程如下:
拉取redis的鏡像 docker pull redis 查看本地redis鏡像 docker images 運行redis docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
docker run表示運行的意思
–name myredis 表示起個名字叫myredis
-p 6379:6379表示把服務器的6379映射到docker的6379端口,這樣就可以通過服務器的端口訪問docker的端口
-d 表示以後臺服務形式運行redis redis redis-server –appendonly yes表示開啟持久化緩存模式,可以存到硬盤
3、安裝 MySQL
下拉MySQL鏡像: docker pull mysql:5.7.27 Docker運行MySQL: docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27
4、安裝 RabbitMQ
一行命令搞定,註意RABBITMQ_DEFAULT_PASS=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
5、安裝 ElasticSearch
下拉鏡像操作省略:
啟動: docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3 進入鏡像: docker exec -it es_643 /bin/bash 安裝中文分詞插件: ./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
6、構建項目的 Docker 鏡像
我們使用命令到github上拉取項目:
下拉項目(eblog): clone https://github.com/MarkerHub/eblog.git 進入文件夾: cd eblog 打包: mvn clean package -Dmaven.test.skip=true
將打好的jar包上傳到 linux 服務器上!
接下來編寫 DockerFile,它能將我們打包好的jar包代碼構建成鏡像:
FROM java:8 EXPOSE 8080 VOLUME /tmp ENV TZ=Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone ADD eblog-0.0.1-SNAPSHOT.jar /app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
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,然後用DockerFile把eblog-0.0.1-SNAPSHOT.jar構建成鏡像:
構建鏡像 docker build -t eblog . 查看鏡像 docker images
這步驟完成之後,我們就可以在準備工作就已經完成啦,接下來,我們就直接啟動我們的項目
7、運行項目鏡像 完成項目啟動
命令如下:
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
到此項目運行成功!
註意: 使用 DockerCompose 更簡單
到此這篇關於Docker快速部署SpringBoot項目介紹的文章就介紹到這瞭,更多相關Docker部署SpringBoot內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Centos8.3、docker部署springboot項目實戰案例分析
- 使用docker在linux環境中部署springboot包的教程
- Docker compose部署SpringBoot項目連接MySQL及遇到的坑
- Docker啟動常用容器命令及配置詳解
- Springboot打包為Docker鏡像並部署的實現