Docker 部署前后端專案
平生不會相思,才會相思,便害相思,
簡介:都是被逼的,從零開始一個Docker 部署九個微服務和三個前端專案,其中,這些服務需要用到Nacos、MySQL、Nginx、ElasticSearch、Kibana、Redis、JDK和 Minio 檔案存盤服務器,當然真實環境不會在一臺服務器上或者一個Docker中安裝部署這么多東西,由于本機只開了一臺虛擬機所以是在同一個虛擬機中安裝部署的,到正式環境上就把幾個存盤資料的和運行專案的分別安裝部署到多個服務器上即可,
一、準備作業:
1、九個微服務+三個前端專案,
2、一臺虛擬機,Linux 和Ubuntu 都可以,本次選擇的是帶有圖形界面的Ubuntu 系統,
二、簡單了解Docker
解決的問題
由于不同的機器有不同的作業系統,以及不同的庫和組件,在將一個應用部署到多臺機器上需要進行大量的環境配置操作,
Docker 主要解決環境配置問題,它是一種虛擬化技術,對行程進行隔離,被隔離的行程獨立于宿主作業系統和其它隔離的行程,使用 Docker 可以不修改應用程式代碼,不需要開發人員學習特定環境下的技術,就能夠將現有的應用程式部署在其它機器上,

與虛擬機的比較
虛擬機也是一種虛擬化技術,它與 Docker 最大的區別在于它是通過模擬硬體,并在硬體上安裝作業系統來實作,

啟動速度
啟動虛擬機需要先啟動虛擬機的作業系統,再啟動應用,這個程序非常慢;
而啟動 Docker 相當于啟動宿主作業系統上的一個行程,
占用資源
虛擬機是一個完整的作業系統,需要占用大量的磁盤、記憶體和 CPU 資源,一臺機器只能開啟幾十個的虛擬機,
而 Docker 只是一個行程,只需要將應用以及相關的組件打包,在運行時占用很少的資源,一臺機器可以開啟成千上萬個 Docker,
優勢
除了啟動速度快以及占用資源少之外,Docker 具有以下優勢:
1. 更容易遷移
提供一致性的運行環境,已經打包好的應用可以在不同的機器上進行遷移,而不用擔心環境變化導致無法運行,
2. 更容易維護
使用分層技術和鏡像,使得應用可以更容易復用重復的部分,復用程度越高,維護作業也越容易,
3. 更容易擴展
可以使用基礎鏡像進一步擴展得到新的鏡像,并且官方和開源社區提供了大量的鏡像,通過擴展這些鏡像可以非常容易得到我們想要的鏡像,
鏡像與容器
鏡像是一種靜態的結構,可以看成面向物件里面的類,而容器是鏡像的一個實體,
鏡像包含著容器運行時所需要的代碼以及其它組件,它是一種分層結構,每一層都是只讀的(read-only layers),構建鏡像時,會一層一層構建,前一層是后一層的基礎,鏡像的這種分層存盤結構很適合鏡像的復用以及定制,
構建容器時,通過在鏡像的基礎上添加一個可寫層(writable layer),用來保存著容器運行程序中的修改,

三、Docker 安裝與使用
準備一臺虛擬機,Linux 和Ubuntu 作業系統的都可以,本人在VMWare 上兩個作業系統都有安裝,但是Ubuntu 的是有圖形操作界面,用起來更舒適,所以接下來的操作都是基于Ubuntu 系統的,但是Linux 和Ubuntu 系統區別不大,命令什么的大多也通用,
安裝
查看docker是否安裝:
docker version
1、更新ubuntu 的apt 源索引:
sudo apt-get update

2、設定 apt可以通過Https 使用存盤庫(repository)
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

3、添加Docker 官方GPG 密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4、設定Stable存盤庫,即docker 穩定倉庫
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5、再次更新apt 包索引并安裝最新的Docker CE 版本
sudo apt-get update

sudo apt-get install -y docker-ce

6、查看Docker 是否安裝成功并確認服務是否已經啟動
docker version

systemctl status docker
查看docker 運行狀態,已啟動: 
如果檢查未啟動執行一下
sudo systemctl start docker
7、經典Hello World
sudo docker run hello-world

使用
1、啟動與停止
安裝完成Docker 后,默認已經啟動了docker服務,如需手動控制docker服務的啟停,可執行如下命令,
# 啟動docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重啟docker
sudo service docker restart
docker 安裝完成,一般用戶沒有權限啟動docker 服務,只能通過sudo 來通過root 用戶權限來啟動docker,此時對于一般用戶而言,需要執行docker ps 或者docker images 命令查看容器或者鏡像提示如題所示的錯誤,

解決辦法:
1、使用sudo docker ps或者sudo docker images,但是每次都要輸入密碼,

2、把普通用戶加入到docker 組中
這里的普通用戶是tjt,組docker 在安裝docker 的時候,就已經添加了,所以只需要執行兩個操作即可:
1 sudo gpasswd -a $USER docker
2
3 newgrp docker
將tjt 用戶加入docker 組之后,發現使用docker ps或者docker images 不會提示權限不足了,

2、 Docker 鏡像操作

四、在Docker 中安裝和配置nacos
1、查找nacos的鏡像,執行命令
docker search nacos

2、拉取nacos 鏡像
docker pull nacos/nacos-server:1.1.4
這邊沒有安裝最新版,而是指定了版本號,

docker images 查看是否拉取nacos 鏡像成功

3、啟動nacos服務
指令:
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.1.4
查看是否啟動成功:docker ps

4、打開瀏覽器測驗訪問nacos
http://localhost:8848/nacos/

初始賬號/密碼為:nacos/nacos

4、設定NACOS 自動啟動
指令:docker update --restart=always 963217d51c36(最后一項為nacos容器的CONTAINER ID)
docker update --restart=always 963217d51c36

5、Nacos 配置
把每個微服務的bootstrap.yml 組態檔內容寫到nacos.
連接虛擬機服務器,上傳nacos 組態檔到服務器,解壓后匯入nacos 串列,

解壓后單個加入,或者無需解壓,點擊“匯入配置”按鈕,以zip 壓縮包形式批量匯入所有微服務的bootstrap.yml 組態檔,

五、Docker 安裝MySQL
1、查找Docker Hub 上的mysql 鏡像
docker search mysql

2、拉取 MySQL 鏡像
latest 這里拉取官方的最新版本的鏡像:
docker pull mysql:latest

3、查看本地鏡像
使用以下命令來查看是否已安裝了 mysql:
docker images

4、運行容器
安裝完成后,我們可以使用以下命令來運行 mysql 容器:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

引數說明:
- -p 3306:3306 :映射容器服務的 3306 埠到宿主機的 3306 埠,外部主機可以直接通過 宿主機ip:3306 訪問到 MySQL 的服務,
- MYSQL_ROOT_PASSWORD=123456:設定 MySQL 服務 root 用戶的密碼,
5、安裝成功
通過 docker ps 命令查看是否安裝成功:

至此,使用docker 安裝mysql 的作業就已經完成了,
以后使用如下命令開啟并執行名為mysqldb 的容器:
1 sudo docker start mysqldb
2 sudo docker exec -it mysqldb /bin/bash
使用如下命令關閉名為mysqldb 的容器:
sudo docker stop mysqldb
6、Docker 中mysql 簡單互動
(1)輸入命令連接mysql:
本機可以通過 root 和密碼 123456 訪問 MySQL 服務,
直接通過-u root 命令訪問mysql 輸入會報錯,先安裝mysql-server
sudo apt-get install mysql-server

彈框提示輸入mysql 的root 密碼和確認密碼

輸入密碼后可以訪問,但報了個mysql.socket 的錯

修改/etc/my.cnf
tjt@tjt-virtual-machine:~$ vim /etc/my.cnf
添加以下內容到/etc/my.conf:
1 [client]
2
3 socket = /Data/mydata/mysql.sock
4
5 [mysqld]
6
7 socket = /Data/mydata/mysql.sock
View Code

我使用的不是root 用戶編輯檔案,無法保存,所以退出時強制保存:w ! sudo tee %
一頓操作后,發現還是不行-報錯,白搞了,

原來,我們的mysql 是安裝在docker 中,系統中并沒有mysql,也是通過docker 命令啟動的,所以要先進入docker容器,再能啟動對應的mysql,
進入容器
docker exec -it 容器ID /bin/bash
進入mysql,啟動容器的時候初始密碼已經設定為了:123456
mysql -u root -p

簡單測驗MySQL 資料庫是否可以用

7、MySQL 資料匯入
由于待會運行后端專案,登錄系統需要用到賬號和密碼,索性在這里把MySQL 資料匯入Docker 容器中的MySQL,
1、從本地資料庫匯出SQL

2、進入mysql的docker容器

3、創建資料庫

4、將sql 檔案copy 到docker 容器里

進入容器,執行.sql 檔案,完成資料匯入初始化,

六、 docker 安裝redis
1、獲取 redis 鏡像
這里我拉取官方的最新版本的鏡像:
docker pull redis

2、查看本地鏡像
docker images

3、運行容器
安裝完成后,我們可以使用以下命令來運行 redis 容器:
docker run -itd --name redis-test -p 6379:6379 redis

引數說明:
- -p 6379:6379:映射容器服務的 6379 埠到宿主機的 6379 埠,外部可以直接通過宿主機ip:6379 訪問到 Redis 的服務,
4、安裝成功
最后我們可以通過 docker ps 命令查看容器的運行資訊:

通過 redis-cli 連接測驗使用 redis 服務,
首先進入redis容器
docker exec -it redis-test /bin/bash

七、Docker 安裝 jdk1.8
1、查找jdk
docker search jdk

2、下載 jdk
docker pull kdvolder/jdk8

3、查看是否下載成功
docker images

4、啟動
docker run -di --name=jdk1.8 kdvolder/jdk8

5、查看是否啟動成功
docker ps

6、查看JDK 版本
首先要進入jdk8 容器
docker exec -it jdk1.8 /bin/bash
再查看jdk 版本

八、Docker 安裝ElasticSearch
1、拉取 es 的 docker 鏡像
這里拉取 7.8.0 版本
docker pull elasticsearch:7.8.0

2、拉好鏡像后,docker images查看鏡像

3、接下來直接啟動 docker 中的 es 鏡像就好了
# -d : 后臺運行
# -p : 指定宿主機與docker啟動容器的埠映射
# --name : 為 elasticsearch 容器起個別名
# -e : 指定為單節點集群模式
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.8.0

啟動后docker ps 查看是否成功

4、訪問測驗
瀏覽器輸入: http://localhost:9200/ ,或者終端輸入: curl http://localhost:9200/ 來檢查es 是否安裝成功,
在虛擬機內瀏覽器訪問:

也可以帶上IP 在非虛擬機內瀏覽器訪問:

終端訪問:
curl XGET "localhost:9200"

九、Docker 安裝 Kibana
Kibana 是一款適用于 es 的資料可視化和管理工具, 可以提供實時的直方圖、線形圖、餅狀圖和地圖,
需要注意的是, kibana 的版本最好與 elasticsearch 保持一致, 避免發生不必要的錯誤,
1、拉取Kinaba 鏡像
直接和 es 版本保持一致:
docker pull kibana:7.8.0

2、查看Kibana 鏡像是否拉取到本地docker images

3、Docker 啟動 Kibana
7.8.0 版本的 kibana 包比較大, 啟動較慢, 稍等個半分鐘
# -e : 指定環境變數配置, 提供漢化
# --like : 建立兩個容器之間的關聯, kibana 關聯到 es
docker run -d --name kibana --link elasticsearch:elasticsearch -e "I18N_LOCALE=zh-CN" -p 5601:5601 kibana:7.8.0
# kibana 的漢化我感覺做的并不好# 如果不習慣漢化, 可以把條件去除
docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 kibana:7.8.0

docker ps 查看是否docker 啟動成功:

4、訪問測驗
在虛擬機內的瀏覽器輸入地址 http://localhost:5601/, 測驗啟動成功

在非虛擬機內瀏覽器打開需改變IP 地址:

發現輸入地址后即可訪問,下面還要配置下密碼
5、修改ES 配置
1、進入容器&打開檔案
docker exec -it 容器ID bash
tjt@tjt-virtual-machine:~$ docker exec -it 2ec6df4ed409 bash

cd config
vi elasticsearch.yml

2、編輯檔案
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

3、設定密碼
先重啟下es 再執行
tjt@tjt-virtual-machine:~$ docker restart 2ec6df4ed409
tjt@tjt-virtual-machine:~$ docker exec -it 2ec6df4ed409 bash
[root@2ec6df4ed409 elasticsearch]# cd bin
[root@2ec6df4ed409 bin]# elasticsearch-setup-passwords interactive

逐個輸入密碼,這里都是123456 比較好記,

重啟es 訪問:
tjt@tjt-virtual-machine:~$ docker restart 2ec6df4ed409
到虛擬機內部瀏覽器訪問es,http://localhost:9200/,提示輸入密碼

6、修改Kibana 配置
1、進入容器&打開檔案
docker exec -it kibana bash
cd config
vi kibana.yml

添加下面三行:
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
i18n.locale: "zh-CN

重啟Kibana 訪問:

因為es 配置了密碼,所以Kibana 重啟前的登錄界面使用的是es 的:

重啟后使用Kibana 登錄密碼界面風格:

十、DOCKER -MINIO 檔案存盤服務器安裝
1.操作minio 鏡像
tjt@tjt-virtual-machine:~$ docker search minio
2.拉取鏡像
docker pull minio/minio

裝錯了minio,可以洗掉容器,再重新安裝,

3、再戰Minio,這次的Minio 安裝是從官網搞來的命令
https://docs.min.io/docs/minio-docker-quickstart-guide.html

docker run \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data --console-address ":9001"

4、訪問測驗
重啟Minio,查看Minio 容器日志得到訪問地址:http://127.0.0.1:9000
上面配置了埠,9000回呼到9001

在虛擬機內訪問Minio 登錄頁:

登錄賬號是剛剛自己寫進去的:
1 賬號:AKIAIOSFODNN7EXAMPLE
2 密碼:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

可以在Account 下修改密碼:

新建用戶:
minio/minio123

賦予minio 用戶策略權限,新建用戶后沒有授予對應的策略也形同虛設,

十一、Docker 安裝 Nginx
1、docker search nginx 命令來查看可用版本,
docker search nginx

2、取最新版的 Nginx 鏡像
這里我拉取官方的最新版本的鏡像:
docker pull nginx:latest

3、查看本地鏡像
使用以下命令來查看是否已安裝了 nginx:
docker images

4、運行容器
安裝完成后,我們可以使用以下命令來運行 nginx 容器:
docker run --name nginx-test -p 8080:80 -d nginx

引數說明:
--name nginx-test:容器名稱,
-p 8080:80: 埠進行映射,將本地 8080 埠映射到容器內部的 80 埠,
-d nginx: 設定容器在在后臺一直運行,
5、安裝成功測驗
最后我們可以通過瀏覽器可以直接訪問 IP + 8080 埠的 nginx 服務:

在虛擬機中瀏覽器通過localhost 訪問報錯:

修改如下:
ssl錯誤,請求用http,不用https

6、如何在本地目錄上掛載組態檔
我們安裝完nginx 后會發現組態檔在哪,日志檔案目錄在哪,web專案放到那個目錄下,等等,
docker run一個鏡像會生成一個容器,而我們需要修改的組態檔日志檔案等等都在這個容器里
進入容器bash
1. 進入容器bash
tjt@tjt-virtual-machine:~$ docker exec -it 06191d8f5fab /bin/bash

因為是在docker 容器中編輯,與外部隔絕,需要在docker 中安裝vim

vim 安裝好后,再次執行
root@06191d8f5fab:/# vim /etc/nginx/nginx.conf
按照自己的需要修改ngnix組態檔

7、ngnix 第二種安裝方式-將組態檔等目錄掛載到本地
這個操作對于以后修改很方便,推薦這一種
1. 首先在本地準備我們的掛載目錄以及組態檔
如果是普通用戶,先授予普通用戶root 權限,才方便準備本地組態檔,否則會提示權限不足,

授予用戶tjt root 權限
tjt ALL=(ALL:ALL) ALL

發現還是沒有root 用戶好使,直接su 切換到root 用戶操作,新增 conf、conf.d、logs、html 四個檔案夾

建好目錄后還需要兩修改兩個組態檔
nginx.conf
default.conf
這兩個組態檔可以從之前安裝的docker nginx鏡像中拷貝,也可以從其他環境中拷貝一份配置,

組態檔創建完成后我們再在html 目錄下隨便新建一個index.html 頁面用于測驗Nginx

html 的內容隨便寫一點:

2. 然后我們就可以在運行時指定掛載目錄了
先要洗掉之前方法一安裝的ngnix 鏡像

掛載日志目錄
掛載配置目錄
掛載主組態檔
命令:
docker run --name docker_nginx -d -p 8080:80 \
> -v /home/docker/nginx/logs:/var/log/nginx \
> -v /home/docker/nginx/conf.d:/etc/nginx/conf.d \
> -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
> -v /home/docker/nginx/html:/usr/share/nginx/html nginx
解釋下上面的命令:
--name 給你啟動的容器起個名字,以后可以使用這個名字啟動或者停止容器
-p 映射埠,將docker 宿主機的80 埠和容器的80 埠進行系結
-v 掛載檔案用的,第一個-v 表示將你本地的nginx.conf 覆寫你要起啟動的容器的nginx.conf檔案,第二個表示將日志檔案進行掛載,就是把nginx 服務器的日志寫到你docker 宿主機的/home/docker-nginx/log/ 下面
第三個-v 表示的和第一個-v 意思一樣的,
-d 表示啟動的是哪個鏡像

通過docker ps 查看ngnix 是否安裝成功

3、訪問測驗
在虛擬機內瀏覽器測驗:localhost:8080

十二、安裝docker-compose
安裝docker-compose ,使用docker-compose.yml 編排微服務的啟動,
0.查看是否安裝
docker-compose --version

1.進入https://github.com/docker/compose/releases 查看最新版本,當前版本為1.23.1
sudo curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.git 下載docker-composer 太慢了,可以使用如下鏈接
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

3.設定權限
sudo chmod +x /usr/local/bin/docker-compose

4.查看是否安裝成功

到此為止,所有的安裝準備作業都就緒了,接下來就是工程部署了,總共安裝了如下鏡像:

十三、 后端工程發布
1、生成鏡像,準備啟動
在 src/main/ 路徑下新建 docker 檔案夾,并新建 Dockerfile 檔案、docker-compose.yml 檔案,

2、專案打 jar 包
通過Maven 工具install 打jar 包,在對應工程的在target 目錄下得到 xxx.jar,

3、 使用 Dockerfile 制作 Docker 鏡像
注意這里的 jar 包位置,將 target 目錄下生成的 jar 包拷貝在src/main/docker 目錄下,

在 Dockerfile 中寫入以下內容:
# 基于哪個鏡像
FROM java:8
# 將本地檔案夾掛載到當前容器
VOLUME /tmp
# 拷貝檔案到容器
ADD common-gateway-0.0.1-SNAPSHOT.jar /gateway.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/gateway.jar"]
ENV TIMEZONE Asia/Shanghai
上傳到服務器對應目錄下:

到對應目錄下,執行命令:
docker build -t gateway-service:0.0.1 .
再通過 docker images 可以發現,鏡像已經存在,

現在可以去書寫 docker-compose.yml,
4、使用 docker-compose.yml 編排微服務的啟動
在 docker-compose.yml 里面寫入:

version: '3'
services:
gateway-service:
image: gateway-service:0.0.1
ports:
- 9999:9999
iamge:連接的對應的鏡像名字,必須和你生成的鏡像一模一樣,版本號也一定要加上(默認latest,因為之前我們加了0.0.1,沒有latest)
ports: 就是暴漏埠映射,保持一致,不易混淆,但是前端包要保持映射到Nginx 埠上,

執行
docker-compose up -d
-d:仍然表示后臺執行
成功后docker ps查看:

訪問nacos 服務,查看服務串列,看到有一個微服務在Nacos 服務串列中:

接下來把剩下八個微服務分別按照第一個gateway 微服務的方式打包上傳到Docker 中,只build 打包,不run 啟動,打包好后通過撰寫docker-compose 腳本一起啟動所有微服務,
5、工程打包
common-oauth2 打包上傳:

mng-sys 打包上傳:

mng-mall 打包上傳:

api-mall 打包上傳:

api-pay 打包上傳:

api-customer 打包上傳:

api-member 打包上傳:

api-aiot 打包上傳:

6、工程添加到容器
上傳好后分別添加到容器:
已添加第一個gateway 服務:docker build -t gateway-service:0.0.1 .
docker build -t oauth2-service:0.0.1 .

docker build -t sys-service:0.0.1 .

docker build -t api-mall-service:0.0.1 .

docker build -t api-pay-service:0.0.1 .

docker build -t api-customer-service:0.0.1 .

docker build -t api-aiot-service:0.0.1 .

docker build -t api-member-service:0.0.1 .

docker build -t mng-mall-service:0.0.1 .

docker images 查看容器中的工程:

看到這九個工程都加到docker 容器中了,但并沒有啟動,還需要編輯docker-compose.yml 編排微服務的啟動,
執行docker-compose 命令:
docker-compose up -d
多次執行該命令,有變動的工程會重新部署:
再通過docker ps -a 查看docker 容器中的運行狀態:

到nacos 服務串列下查看運行狀況:
有十個微服務只跑了九個,擔心電腦扛不住,之前用公司的電腦IDEA開超過五個微服務每次都會閃退,
心累啊,終于九個服務都跑通了:

再到ES中查看是否有索引,專案啟動會自動生成es索引和欄位:

到此為止,后端服務的部署就告一段落了,接下來就是三個前端專案了,
十四、前端工程發布
1、撰寫VUE 前端專案的Dockerfile
FROM nginx:latest
MAINTAINER 302665496@qq.com
COPY dist/ /usr/share/nginx/html/

第一行寫的是設定基礎鏡像,也就是我們剛剛pull 下來的nginx 鏡像,
第二行是寫一個作者,寫上自己的郵箱就好,
第三行的意思就是將dist 檔案夾下面的內容拷貝到/usr/share/nginx/html/ 這個目錄下,
這個目錄是不是很眼熟?這個路徑就是nginx 一般的專案地址路徑,還記得nginx 的測驗頁面在哪兒嗎?就是這個路徑下的index.html 啦,
2、創建鏡像
上傳dist 目錄下的static 和index.html 檔案和Dockerfile 到虛擬機對應目錄

在Dockerfile 的目錄下執行
docker build -t admin-mall-vue:v1 .
admin-mall-vue:v1 是你鏡像的名字, 特別注意后頁面那個點不能省略,

然后在docker images 一下,你就能看到自己創建的VUE鏡像了,

3、創建容器
執行命令:
# -d 后臺運行
# -p 埠映射
docker run -d -p 9090:80 admin-mall-vue:v1
然后執行docker ps 查看:

4、訪問測驗
在內部瀏覽器訪問:

到虛擬機外部,使用ip 訪問能否正常登陸:
再試著更換圖片,看下minio 檔案服務器能不能用,

后面還有兩個前端專案的部署,一個IM 客服聊天,一個手機APP商城,部署方式同后臺管理vue 專案類似,3個前端工程,九個微服務的發布到此,
前面的一些步驟可以寫成腳本,比如build 裝載鏡像等,
另外兩個前端專案結構如下:

執行h5 APP前端專案的build 腳本:

執行im 客服聊天系統的build 腳本:

通過docker images 查看build 結果

執行docker-compose 運行兩個前端專案:
docker-compose up -d
docker ps -a 查看發布狀態:

使用虛擬機ip 172.16.114.135 加上埠號9091/9092 分別訪問客服IM頁面和H5商城頁面:

平生不會相思
才會相思
便害相思
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/353125.html
標籤:Java

