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

老包子發表於2020-10-29

 Spring Cloud Alibaba要用到的元件很多,註冊中心nacos, 限流sentinel, 資料庫,閘道器等等。由於用到的元件相對較多,部署會很繁瑣,最關鍵的是沒有資源伺服器,所以在開發過程中我會逐漸將一些元件使用docker-compose部署。

 

01

 

 

環境準備

 

 

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

先曬出mackbook資訊,不是高配,硬體配置和這差不多的應該都沒問題。

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

 

第一部安裝docker-toolbox, 阿里雲上有個映象。

http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/stable/

下載,安裝。

 

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

 

安裝好以後配置一下硬體資訊:

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

這個時候可以試一下,是否安裝好了,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:      false

 

Server: 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

 

正常情況下,我們的環境就全部準備好了,是不是很簡單。

當然我們國內的環境(肉身翻牆或者有高速梯子跳過這步)是需要配置一個國內的docker加速器,國內的網速去docker hub下載映象那得涼涼了。

配置阿里雲加速方法如下:

首先申請自己的阿里雲私有映象:

 

1.登陸阿里雲:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

2.進入【控制檯】-【映象倉庫】-【映象中心】-【映象加速器】

如果找不到選單就直接搜【映象倉庫】會要求輸入密碼,輸入即可,然後進入【映象中心】-【映象加速器】

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

獲得自己的加速地址後:

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

{

  "features": {

    "buildkit": true

  },

  "experimental": false,

  "registry-mirrors": [

    "https://xxxxxx.mirror.aliyuncs.com"

  ]

}

重啟服務。

 

用docker info命令檢視是否配置成功,看下你的加速地址表示成功:

 Registry Mirrors:

  https://xxx.mirror.aliyuncs.com/

 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檔案下載下來,匯入資料庫中。

https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/nacos-mysql.sql

用工具導到我們剛搭建好的mysql中:(用本機ip, root/123456, 埠3306)

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

 

在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登陸

 

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

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登陸

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

 

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

 

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

 

 

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

相關文章