T O P

[资源分享]     Docker composer搭建Spring Cloud Alibaba 运行环境(二)

  • By - 楼主

  • 2020-10-29 23:00:27
  •  Spring Cloud Alibaba要用到的组件很多,注册中心nacos, 限流sentinel, 数据库,网关等等。由于用到的组件相对较多,部署会很繁琐,最关键的是没有资源服务器,所以在开发过程中我会逐渐将一些组件使用docker-compose部署。

     

    01

     

     

    环境准备

     

     

    我手上有一台macbook,这次先用mac部署,有机会再写一个ubuntu的,基本差不多。

    先晒出mackbook信息,不是高配,硬件配置和这差不多的应该都没问题。

     

    第一部安装docker-toolbox, 阿里云上有个镜像。

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

    下载,安装。

     

     

    安装好以后配置一下硬件信息:

    这个时候可以试一下,是否安装好了,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.进入【控制台】-【镜像仓库】-【镜像中心】-【镜像加速器】

    如果找不到菜单就直接搜【镜像仓库】会要求输入密码,输入即可,然后进入【镜像中心】-【镜像加速器】

    获得自己的加速地址后:

    {

      "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-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安装成功, 至此前期所需要的组件都安装成功, 万里长征迈出第一步,下期我们继续。

     

     

    本帖子中包含资源

    您需要 登录 才可以下载,没有帐号?立即注册