快速安装服务器环境

GitEgg...大约 2 分钟环境准备环境准备安装使用dockerdocker-compose

提示

此教程是指导快速安装 SpringCloud 开发所需的环境服务软件。前提是本地开发软件:JDK、Maven、IntelliJ IDEA、VSCode、Node.js 已安装完成,如果没有安装开发软件,请查看[环境准备]相关文档。

  开发环境搭建需要的软件可以在环境准备中单独安装,也可使用 docker 安装,这里提供 docker 编排文件,可以使用 docker-compose 快速安装 mysql+redis+nacos+seata+sentinel-dashboard 。

1. 开发环境 docker-compose-dev.yaml

version: "3"
services:
  mysql:
    image: mysql/mysql-server:5.7
    container_name: gitegg-mysql
    restart: always
    ports:
      - 3307:3306
    volumes:
      # 数据目录,提前建好
      - "/data/gitegg/mysql/data/:/var/lib/mysql"
      - "/data/gitegg/mysql/conf/:/etc/mysql/"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: nacos
      MYSQL_USER: root
      MYSQL_PASSWORD: root
    command: --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M;
  redis:
    image: redis:6.0.12
    container_name: gitegg-redis
    command: redis-server --appendonly yes --requirepass "123456"
    ports:
      - 6380:6379
    restart: always
    volumes:
      # 数据目录,提前建好
      - "/data/gitegg/redis/:/data"
  nacos:
    image: nacos/nacos-server:latest
    container_name: gitegg-nacos
    restart: on-failure
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
    environment:
      PREFER_HOST_MODE: hostname
      SPRING_DATASOURCE_PLATFORM: mysql
      MODE: standalone
      NACOS_SERVER_PORT: 8848
      MYSQL_SERVICE_HOST: gitegg-mysql
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: root
      JVM_XMS: 512m
      JVM_MMS: 320m
    volumes:
      - "/data/gitegg/nacos/logs/:/home/nacos/logs/"
      - "/data/gitegg/nacos/init.d/:/home/nacos/init.d/"
    depends_on:
      - mysql
  seata:
    image: seataio/seata-server
    container_name: gitegg-seata
    environment:
      - "SEATA_CONFIG_NAME=file:/root/seata-config/registry"
    ports:
      - 8091:8091
    volumes:
      - "/data/gitegg/seata/:/root/seata-config/"
    restart: on-failure
    depends_on:
      - nacos
      - mysql
  sentinel-dashboard:
    image: gitegg/sentinel-dashboard
    container_name: sentinel-dashboard
    restart: always
    environment:
      JAVA_OPTS: "-Dserver.port=8086 -Dcsp.sentinel.dashboard.server=localhost:8086 -Dproject.name=sentinel-dashboard"
    ports:
      - "8086:8086"

2. 创建挂在目录并赋权限

mkdir -p /data/gitegg/mysql/data /data/gitegg/mysql/conf /data/gitegg/redis /data/gitegg/nacos/conf /data/gitegg/nacos/logs/ /data/gitegg/nacos/init.d/ /data/gitegg/seata

chmod -R 777 /data/gitegg/mysql/data /data/gitegg/mysql/conf /data/gitegg/redis /data/gitegg/nacos/conf /data/gitegg/nacos/logs/ /data/gitegg/nacos/init.d/ /data/gitegg/seata

3. 执行安装命令

docker-compose -f docker-compose-dev.yaml up -d

4. Nacos 安装没有使用自带的 mysql,所以这里需要在安装的 MySql 刷入 nacos 需要的脚本。在官方下载对应的 Nacos 版本,解压后找到/nacos/conf 目录下的 nacos-mysql.sql 数据库脚本,官网地址:https://nacos.io/zh-cn/docs/quick-start.html。open in new window

登录 docker 容器的 mysql

docker ps

docker exec -ti 662965f52872 /bin/bash

设置 mysql 可以远程连接及 root 用户权限

mysql -u root -proot

alter user 'root'@'%' identified with mysql_native_password by 'root';

grant all privileges on *.* to 'root'@'%' identified by 'root';

flush privileges;

5. 重启 nacos

#查看nacos的container id
docker ps
#重启nacos,CONTAINER_ID替换为nacos对应的container id
docker restart CONTAINER_ID