日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

2分钟学会Docker部署SpringBoot项目

發布時間:2024/9/27 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2分钟学会Docker部署SpringBoot项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

          • 一、安裝docker
            • 1. 在線安裝docker
            • 2. 換鏡像源
          • 二、安裝redis
          • 三、安裝mysql
          • 四、安裝RabbitMq
          • 五、安裝ElasticSearch
            • 5.1. 修改服務器配置
            • 5.2. 創建容器并啟動 ES
            • 5.3. 查看啟動日志
            • 5.4. 進入鏡像
            • 5.5. 修改cluster-name
            • 5.6. 安裝中文分詞插件
            • 5.7. 退出并重啟鏡像
            • 5.8. 查看啟動日志
          • 六、構建eblog的docker鏡像
            • 6.1. 克隆項目到本地
            • 6.2.下載maven依賴
            • 6.3. 修改yml配置和本地運行
            • 6.4. 采用容器別名通信
            • 6.5. 跳過測試打包
            • 6.6. 上傳jar包
            • 6.7. 制作Dockerfile
            • 6.8. 制作eblog鏡像
            • 6.9. 查看鏡像列表
          • 七、啟動eblog項目
            • 7.1. 容器運行狀態查看
            • 7.2. 修改websoket地址
            • 7.3. 啟動eblog
            • 7.4. 查看eblog打印日志
            • 7.5. 瀏覽器驗證

一、安裝docker
1. 在線安裝docker
#安裝 yum install docker#檢驗安裝是否成功 [root@localhost opt]# docker --version Docker version 1.13.1, build 7f2769b/1.13.1

2. 換鏡像源
sudo vim /etc/docker/daemon.json 內容如下: {"registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"] } 保存退出,重啟docker#重啟 sudo systemctl daemon-reload sudo systemctl restart docker

具體地址獲取方式:
Centos7 解決Docker拉取鏡像慢的問題

二、安裝redis

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

#拉取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表示開啟持久化緩存模式,可以存到硬盤

三、安裝mysql

如果想下載指定版本的mysql鏡像請一部官網選擇版本
https://hub.docker.com/_/mysql


docker pull mysql:5.7.27 docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27
  • MYSQL_ROOT_PASSWORD=admin表示root的初始密碼
  • mysql:5.7.27表示操作的是mysql的5.7.27版本,沒有后面的版本號的話,默認是拉取最新版本的mysql。

連上mysql,創建數據庫eblog,然后把數據庫腳本導入進去。 腳本位置:
https://github.com/MarkerHub/eblog/blob/master/eblog.sql


如果遇到異常,請移步
1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contai

四、安裝RabbitMq
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
  • 指定hostname為my-rabbit : --hostname my-rabbit
  • 創建用戶 : -e RABBITMQ_DEFAULT_USER
  • 設置密碼: -e RABBITMQ_DEFAULT_PASS
  • 可視化窗口版本 : rabbitmq:management
  • 端口映射:-p 5672:5672

一行命令搞定,注意RABBITMQ_DEFAULT_PASS=password是設置密碼

五、安裝ElasticSearch

docker 安裝 Elasticsearch6.4.3版本 及中文插件安裝。
系統配置
不配置的話,可能會啟動失敗
具體報錯:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。
解決:

5.1. 修改服務器配置
sudo sysctl -w vm.max_map_count=262144

5.2. 創建容器并啟動 ES
docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3

5.3. 查看啟動日志
docker logs -f es_643

5.4. 進入鏡像
docker exec -it es_643 /bin/bash
5.5. 修改cluster-name

es配置文件位置: /usr/share/elasticsearch/config/elasticsearch.yml

# 修改cluster-name保持和eblog程序yml配置文件一致,如果不需要,可以不改 vi /usr/share/elasticsearch/config/elasticsearch.yml



5.6. 安裝中文分詞插件
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

5.7. 退出并重啟鏡像
# 退出 exit# 重啟es_643容器 docker restart es_643

5.8. 查看啟動日志

六、構建eblog的docker鏡像

前提:mysql、redis、RabbitMq、elasticsearch容器都處于啟動狀態

6.1. 克隆項目到本地
git clone git@github.com:MarkerHub/eblog.git

或者直接下載zip包
https://github.com/MarkerHub/eblog/archive/refs/heads/master.zip

6.2.下載maven依賴

6.3. 修改yml配置和本地運行

將mysql、redis、RabbitMq、elasticsearch 地址鏈接、名稱、用戶、密碼等信息地址修改為容器信息



看到以上截圖,說明服務都部署成功!

6.4. 采用容器別名通信

為了保證容器內部之間可以通信,因此,采用給容器起別名方式±-link參數

調整前調整后說明
192.168.223.128emysqlmysql地址
192.168.223.128eredisredis地址
192.168.223.128eeselasticsearch地址
192.168.223.128erabbitrabbit地址

如下圖所示:

6.5. 跳過測試打包
cd D:\vue\eblog-master mvn clean package -Dmaven.test.skip=true


6.6. 上傳jar包

6.7. 制作Dockerfile
cd /app vim Dockerfile # Docker image for springboot file run # VERSION 1.0.0 # Author: gblfy FROM java:8 EXPOSE 8080 MAINTAINER gblfy <xxx@qq.com> 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","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

注:jar包需要和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
6.8. 制作eblog鏡像

接下來,我們安裝Dockrfile的命令,把eblog-0.0.1-SNAPSHOT.jar構建成docker的鏡像。

cd /app# 構建鏡像,注意后面有個點哈 docker build -t eblog .

注:Dockerfile文件內容可以自定義
制作鏡像也添加添加版本信息

docker build -t eblog:1.0 .

操作記錄:

[root@localhost app]# [root@localhost app]# docker build -t eblog:1.0 . Sending build context to Docker daemon 73.7 MB Step 1/8 : FROM java:8---> d23bdf5b1b1b Step 2/8 : EXPOSE 8080---> Using cache---> e91404d45de4 Step 3/8 : MAINTAINER gblfy <xxx@qq.com>---> Running in 5b79b4ead8e2---> 0e711f0534b6 Removing intermediate container 5b79b4ead8e2 Step 4/8 : ENV TZ Asia/Shanghai---> Running in e23d8325cc54---> c9eba2cd377e Removing intermediate container e23d8325cc54 Step 5/8 : RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo '{TZ}' > /etc/timezone---> Running in 4b82ff8fab7c---> 3ea55048b889 Removing intermediate container 4b82ff8fab7c Step 6/8 : ADD eblog-0.0.1-SNAPSHOT.jar /app.jar---> d6d02fb42305 Removing intermediate container c95686e0b3dc Step 7/8 : RUN bash -c 'touch /app.jar'---> Running in ea7e06619867---> 60f8478bc78b Removing intermediate container ea7e06619867 Step 8/8 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar---> Running in 0a92b68b6034---> 9394516f581d Removing intermediate container 0a92b68b6034 Successfully built 9394516f581d [root@localhost app]#
6.9. 查看鏡像列表
docker images

復制代碼這步驟完成之后,我們就可以在準備工作就已經完成啦,接下來,我們就直接啟動我們的項目哈。

七、啟動eblog項目

前提:mysql、redis、RabbitMq、elasticsearch容器都處于啟動狀態

7.1. 容器運行狀態查看

7.2. 修改websoket地址

static/res/js/im.js

7.3. 啟動eblog

因為eblog容器需要調用mysql/redis/rabbit/es_643容器服務,相當于跨容器通信,因此,采用–link方式

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:1.0
  • -p 8080:8080 -p 9326:9326 :9326是因為即時聊天需要用到的ws端口
  • –link es:ees 表示關聯容器,把容器es起別名為ees,前面是容器,后面是別名(別名在eblog容器中的yml已經配置)
7.4. 查看eblog打印日志
docker logs -f eblog

7.5. 瀏覽器驗證

http://192.168.223.128:8080/

總結

以上是生活随笔為你收集整理的2分钟学会Docker部署SpringBoot项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。