Docker composer搭建Spring Cloud Alibaba 運行環境(二)


 
前言
 
“ Spring Cloud Alibaba要用到的組件很多,注冊中心nacos, 限流sentinel, 數據庫,網關等等。由於用到的組件相對較多,部署會很繁瑣,最關鍵的是沒有資源服務器,所以在開發過程中我會逐漸將一些組件使用docker-compose部署。”
 

 

 
 
01
— 
 
環境准備

 

 

 

我手上有一台macbook,這次先用mac部署,有機會再寫一個ubuntu的,基本差不多。

先曬出mackbook信息,不是高配,硬件配置和這差不多的應該都沒問題。

 
 
 
 

 

第一部安裝docker-toolbox, 阿里雲上有個鏡像。
 
下載,安裝。

 

 
 

 

 
 
安裝好以后配置一下硬件信息:
 
這個時候可以試一下,是否安裝好了,terminal試一下docker version:
➜ ~ docker version Client: Docker Engine - Community Cloud integration 0.1.18 Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 16:58:31 2020 OS/Arch:           darwin/amd64 Experimental: falseServer: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:07:04 2020 OS/Arch:          linux/amd64 Experimental: false containerd: Version: v1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683 docker-compose version: ➜ ~ docker-compose -version docker-compose version 1.27.4, build 40524192

 

 
正常情況下,我們的環境就全部准備好了,是不是很簡單。
當然我們國內的環境(肉身FQ或者有高速梯子跳過這步)是需要配置一個國內的docker加速器,國內的網速去docker hub下載鏡像那得涼涼了。
 
配置阿里雲加速方法如下:
首先申請自己的阿里雲私有鏡像:

 

 
2.進入【控制台】-【鏡像倉庫】-【鏡像中心】-【鏡像加速器】
如果找不到菜單就直接搜【鏡像倉庫】會要求輸入密碼,輸入即可,然后進入【鏡像中心】-【鏡像加速器】

 

獲得自己的加速地址后:
 
{ "features": { "buildkit": true }, "experimental": false, "registry-mirrors": [ "https://xxxxxx.mirror.aliyuncs.com" ] }

 

 

重啟服務。
 

 

 
 
用docker info命令查看是否配置成功,看下你的加速地址表示成功:
 Registry Mirrors:
 Live Restore Enabled: false

 

 
 

 

 
 

 

Docker toolbox安裝成功!!
 
 
02 
 
docker-compse部署Mysql

 

 
 
創建docker文件夾,用於存放相應文件信息,創建docker-compose.yml文件。文件目錄如下:
 
-rw-r--r--  1 xx  staff   1.1K 10 27 22:00 docker-compose.yml drwxr-xr-x  3 xx  staff    96B 10 20 15:22 mysql

 

 

 
 

 

編寫docker-compose.yml文件如下:
version: "3" services: mysql: container_name: mysql image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - /Users/xxxx/docker/mysql/data:/var/lib/mysql ports: - "3306:3306" restart: always

 

 
 
 
啟動mysql鏡像,輸入命令:docker-compose up -d mysql, 運行如下:
➜  docker docker-compose up -d mysql Creating network "docker_default" with the default driver Pulling mysql (mysql:5.7)... 5.7: Pulling from library/mysql bb79b6b2107f: Pull complete 49e22f6fb9f7: Pull complete 842b1255668c: Pull complete 9f48d1f43000: Pull complete c693f0615bce: Pull complete 8a621b9dbed2: Pull complete 0807d32aef13: Pull complete 6d2fc69dfa35: Pull complete 56153548dd2c: Extracting [=======================================>           ]  84.67MB/108.3MB

 

 

 
 
用docker-compose ps -a 命令查看是否啟動成功,看到如下信息說明成功:
➜  docker docker-compose ps -a Name Command State Ports ---------------------------------------------------------------------------------------------------- mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp

 

 
 
 

 

Mysql安裝成功!!
 

 

 
 
03

 

docker-compse部署Nacos

 

 
 
去github把nacos  的SQL文件下載下來,導入數據庫中。
用工具導到我們剛搭建好的mysql中:(用本機ip, root/123456, 端口3306)

 

 
 
在docker-compse.yml的后面中加入以下配置:
nacos: image: nacos/nacos-server:1.1.4 container_name: nacos environment: - PREFER_HOST_MODE=hostname - MODE=standalone - MYSQL_DATABASE_NUM=1
      - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_MASTER_SERVICE_HOST=mysql - MYSQL_MASTER_SERVICE_DB_NAME=nacos - MYSQL_MASTER_SERVICE_PORT=3306
      - MYSQL_MASTER_SERVICE_USER=root - MYSQL_MASTER_SERVICE_PASSWORD=123456 volumes: - /Users/xxx/docker/nacos/logs:/home/nacos/logs ports: - "8848:8848" depends_on: - mysql restart: always

 

 

寫好了注意在相應的volumes創建好相應的文件夾
 
docker-compose up -d nacos

 

 

啟動nacos
 
啟動完成后通過 http://yourip:8848/nacos/#/login 用nacos/nacos登陸
Nacos安裝成功!!
 
04
docker-compse部署sentinel

 

 
 
在docker-compse.yml的后面中加入以下配置:
 sentinel: image: bladex/sentinel-dashboard:latest container_name: sentinel ports: - "8858:8858" restart: always

 

 

運行命令:
➜  docker docker-compose up -d sentinel

 

 

 
 
啟動成功后,http://yourip:8858/  用戶名密碼sentinel/sentinel登陸

 

 
 
Sentinel安裝成功, 至此前期所需要的組件都安裝成功, 萬里長征邁出第一步,下期我們繼續。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM