一、官方相关文档介绍

快速入门 | Docker镜像

二、安装

1、拉取官网镜像

docker pull apache/shardingsphere-proxy

2、获取/conf中的配置到本地路径,用于挂载

运行容器

docker run -d  apache/shardingsphere-proxy
PS C:\Windows\system32> docker run -d  apache/shardingsphere-proxy
cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255

复制容器中conf中所有的配置文件到本地,用于后面得挂载。使用命令docker update 容器ID:容器中对应路径 本地路径

 docker cp cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255:/opt/shardingsphere-proxy/conf D:\docker\sharding-sphere-proxy


删除容器

docker rm -f cd2477174763df3f121326a89ba0d67f8cc0893417256e4e35c56dbe89239255

3、运行Docker容器

运行容器并挂载配置地址和扩展包地址

docker run --name sharding-sphere-proxy -d -v D:\docker\sharding-sphere-proxy\conf:/opt/shardingsphere-proxy/conf -v D:\docker\sharding-sphere-proxy\ext-lib:/opt/shardingsphere-proxy/ext-lib -e PORT=3308 -p 7009:3308 apache/shardingsphere-proxy:latest
PS C:\Windows\system32> docker run --name sharding-sphere-proxy -d -v D:\docker\sharding-sphere-proxy\conf:/opt/shardingsphere-proxy/conf -v D:\docker\sharding-sphere-proxy\ext-lib:/opt/shardingsphere-proxy/ext-lib -e PORT=3308 -p 7009:3308 apache/shardingsphere-proxy:latest
568560a9c957d8c9b7b15e33e83968e8ad5c064333730623ba93316b44937b97

三、实现数据分片(样例)

1、复制mysql依赖到扩展包中

下载地址:mysql-connector-java-5.1.47.jar或者mysql-connector-java-8.0.11.jar
下载并复制

2、配置文件说明,具体可看官网配置手册

3、权限配置(server.yaml)

rules:- !AUTHORITYusers:- root@%:root  # <username>@<hostname>:<password>- sharding@:shardingprovider:type: ALL_PRIVILEGES_PERMITTED

4、数据分片配置(config-sharding.yaml)

sql脚本

CREATE DATABASE cyun_sharding_sphere_proxy CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE cyun_sharding_sphere_proxy;-- auto-generated definition
create table t_sys_log_0
(id               varchar(32)      not null comment '日志ID'primary key,application_name varchar(32)      not null comment '服务名称',log_type         int(2) default 0 not null comment '日志类型(0-未知、1-登录日志、2-操作日志、3-定时任务日志)',operate_type     int(2)           null comment '操作类型(0-未知、1-查询、2-添加、3-更新、4-删除、5-导入、6-导出)',log_content      varchar(1000)    null comment '日志描述信息',ip               varchar(100)     null comment 'IP',method           varchar(500)     null comment '请求java方法',request_url      varchar(255)     null comment '请求路径',request_param    longtext         null comment '请求参数',request_type     varchar(10)      null comment '请求类型',cost_time        bigint           null comment '耗时(单位:毫秒)',create_by        varchar(32)      null comment '创建人',create_time      datetime         null comment '创建时间',update_by        varchar(32)      null comment '更新人',update_time      datetime         null comment '更新时间'
)comment '系统日志表' charset = utf8mb4;-- auto-generated definition
create table t_sys_log_1
(id               varchar(32)      not null comment '日志ID'primary key,application_name varchar(32)      not null comment '服务名称',log_type         int(2) default 0 not null comment '日志类型(0-未知、1-登录日志、2-操作日志、3-定时任务日志)',operate_type     int(2)           null comment '操作类型(0-未知、1-查询、2-添加、3-更新、4-删除、5-导入、6-导出)',log_content      varchar(1000)    null comment '日志描述信息',ip               varchar(100)     null comment 'IP',method           varchar(500)     null comment '请求java方法',request_url      varchar(255)     null comment '请求路径',request_param    longtext         null comment '请求参数',request_type     varchar(10)      null comment '请求类型',cost_time        bigint           null comment '耗时(单位:毫秒)',create_by        varchar(32)      null comment '创建人',create_time      datetime         null comment '创建时间',update_by        varchar(32)      null comment '更新人',update_time      datetime         null comment '更新时间'
)comment '系统日志表' charset = utf8mb4;

配置config-sharding.yaml

schemaName: sharding_proxy_dbdataSources:ds_0:url: jdbc:mysql://101.101.101.101:7000/cyun_sharding_sphere_proxy?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: rootconnectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50minPoolSize: 1rules:- !SHARDINGtables:t_sys_log:actualDataNodes: ds_0.t_sys_log_${0..1}tableStrategy:standard:shardingColumn: log_typeshardingAlgorithmName: log_type_inlinekeyGenerateStrategy:column: idkeyGeneratorName: snowflakebindingTables:- t_sys_logdefaultDatabaseStrategy:none:defaultTableStrategy:none:shardingAlgorithms:log_type_inline:type: INLINEprops:algorithm-expression: t_sys_log_${log_type % 2}

5、重启服务

四、使用数据库工具连接

使用DBeaver工具进行连接

五、问题总结

1、使用工具连接时报错

工具错误截图


sharding sphere proxy容器报错截图

问题原因: 创建连接时,未填写Sharding Sphere Proxy代理的数据库。

2、使用工具查看表结构报错

工具错误截图

sharding sphere proxy容器报错截图

该错误不影响使用。

【Docker、Sharding Sphere】Docker安装Sharding Sphere Proxy-5.0.0相关推荐

  1. docker守护式安装tomcat(汤姆猫)报错:Error starting userland proxy: listen tcp 0.0.0.0:8888: bind: address alrea

    用docker安装tomcat的时候,运行镜像,安装tomcat容器出现报错 [root@localhost ~]# docker run -it -p 8888:8080 tomcat docker ...

  2. Docker实践:Centos下安装Docker并简单的使用

    1 环境介绍 版本信息: [root@localhost]#  cat /proc/version Linux version 3.10.0-514.el7.x86_64 (builder@kbuil ...

  3. docker的介绍、安装、镜像命令

    一. 为什么要使用 Docker 1.1Docker 容器虚拟化的好处 在云时代,开发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的限制: 同时必须满足"任何时 ...

  4. docker入门实践,安装指定版本的mysql镜像

    本文以安装mysql5.7为例 查找镜像仓库 含有mysql关键字的记录,这里选择了stars最高,即第1条 $ docker search mysql NAME DESCRIPTION STARS ...

  5. Docker学习 (一) 下载安装及基本常用命令

    Docker快速入门笔记 1.docker概述 1.1.docker基本介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源,让开发者可以打包他们的应用 ...

  6. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  7. Docker入门之 - 如何安装Docker CE

    本文将介绍如何在Ubantu.CentOS.Windows.Mac上安装Docker Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和 ...

  8. 根据镜像安装oracle插件,docker镜像alpine中安装oracle客户端

    1.背景 有项目需使用python连接oracle数据库,然后查询一些数据进行分析.在安装oracle客户端驱动过程中遇到了一些问题,在此记录下来分享读者. 一点限制: oracle数据库与本应用程序 ...

  9. 在docker中haproxy的安装以及mysql的负载均衡配置

    HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案 1 什么是haproxy HAProxy提供高可用性.负载均衡以及基于TCP ...

最新文章

  1. 【GDI+】 线段 文字 定位的问题(二)
  2. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
  3. 数组的扩展-搜集自无忧脚本
  4. Ubuntu12.04安装小记
  5. 51单片机中使用ucos ii的优缺点(好文)
  6. gcc的简单使用教程
  7. 石子合并(洛谷-P1880)
  8. html cdn不缓存,【前端开发日常 - 6】七牛CDN上的网页缓存问题及HTML禁止缓存(续)...
  9. cpu核心分配给不同进程linux,Linux技巧:多核下绑定硬件/进程到不同CPU
  10. 面向电缆行业的高级计划与排程(商简SPS)解决方案
  11. atmega168p与328p_ATMEGA328P-MU产品说明
  12. wireshark显示过滤器和捕获过滤器
  13. 数值计算之 插值法(6)样条插值
  14. SDHC和SDXC的区别总结
  15. java实现 图片转ico
  16. trackingmore快递查询平台_快递查询API接口(trackingmore)
  17. DBeaver(其他可视化工具一样的逻辑)连接IoTDBDriver教程
  18. 哪些方法可以用来提高微信小程序的应用速度?
  19. 微众银行Solidity智能合约库:区块链工程师的随身工具箱
  20. java 坦克世界源代码教程_译文教程:坦克世界游戏制作技术分享

热门文章

  1. AI 再次向人类精英发起挑战,这次是法律领域
  2. 大话设计模式-备忘录模式学习总结
  3. 遗传算法以及matlab程序实现
  4. 京东云首席架构师杨海明: 用技术实现数据价值
  5. 计算机双目视觉视觉角匹配算法
  6. python判断n是否为完全数_判断一个数是否为完全数
  7. 数字图像处理(第二版)许录平习题答案
  8. 移动端web开发学习归纳
  9. 读一本好书就像结识了一位好朋友
  10. 量化投资——IC、IR、RankIC