栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker搭建nacos使用MySQL8作为数据源

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker搭建nacos使用MySQL8作为数据源

一. Nacos简介

Nacos致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos可持久化配置文件,需要使用到数据库MySQL,下面咱们开始搭建mysql数据库;

1.1 搭建MySQL

Nacos1.3.1以后使用MySQL8作为数据源,这里咱们就使用mysql8.0.27版本;

1.1.1 拉取MySQL镜像
[root@freedev morton]# docker search mysql


目前比较官方的镜像有两个:
1. mysql,由Docker团队维护,运行mysql:latest即可使用,版本查看地址
2. mysql/mysql-server,由Oracle的MySQL团队维护,运行 mysql/mysql-server:latest即可使用,版本查看地址

本次安装咱们选用Oracle官方MySQL团队维护的镜像,安装文档地址

[root@freedev morton]# docker pull mysql/mysql-server:8.0.27
1.1.2. 准备MySQL配置文件my.cnf
[mysqld]
user=mysql
character-set-server=utf8
collation-server=utf8_unicode_ci
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8
1.1.3. 创建MySQL数据盘挂载目录及配置文件挂载目录
[root@freedev data]# mkdir -p /data/mysql8/mysql-data  /data/mysql8/conf
1.1.4. 编写docker-compose.yml,创建数据库容器
version: '3.3'
services:
  mysql:
    image: mysql/mysql-server:8.0.27
    container_name: mysql8
    restart: always
    volumes:
      - /data/mysql8/conf/my.cnf:/etc/mysql/my.cnf:rw
      - /data/mysql8/mysql-data:/var/lib/mysql:rw
      - /etc/localtime:/etc/localtime:ro
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_HOST=%
      - MYSQL_ROOT_PASSWORD=password
    ports:
      - 3306:3306
1.1.5. 启动容器检查是否正常运行
[root@freedev log]# docker-compose up -d
Creating network "mysql8_default" with the default driver
Creating mysql8 ... done
[root@freedev log]# docker ps -a
ConTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS                            PORTS                                     NAMES
6b634cec6f15   mysql/mysql-server:8.0.27   "/entrypoint.sh mysq…"   4 seconds ago   Up 3 seconds (health: starting)   33060-33061/tcp, 0.0.0.0:3307->3306/tcp   mysql8

1.1.6. 使用Navicat链接MySQL8,初始化nacos_config数据库

百度网盘链接: https://pan.baidu.com/s/1UlIEOr9Bw9F_sjKxNFhODw 提取码: uj38

1.2 搭建Nacos 1.2.1 拉取Nacos镜像
[root@freedev morton]# docker pull nacos/nacos-server:2.0.3
1.2.2 编写docker-compose
version: '3.3'
services:
  nacos:
    image: nacos/nacos-server:2.0.3
    restart: always
    container_name: nacos
    privileged: true
    environment:
      - TZ="Asia/Shanghai"
      - PREFER_HOST_MODE=hostname
      - MODE=standalone
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=127.0.0.1
      - MYSQL_SERVICE_PORT=3307
      - MYSQL_SERVICE_USER=username
      - MYSQL_SERVICE_PASSWORD=password
      - MYSQL_SERVICE_DB_NAME=nacos_config
      - NACOS_AUTH_ENABLE=true
      - NACOS_APPLICATION_PORT=8848
    volumes:
      - ./logs:/home/nacos/logs
    ports:
      - 8848:8848
    network_mode: host

启动镜像访问http://localhost:8848/

注: 如果启动时抛出时区异常,

java.sql.SQLException: The server time zone value xxxxx is unrecognized or represents more than one time zone

可添加启动参数即可解决: MYSQL_SERVICE_DB_PARAM
characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8

参数配置参考地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613554.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号