Docker镜像

拉取官方Docker镜像

docker pull shardingsphere/sharding-proxy

手动构建Docker镜像(可选)

git clone https://github.com/sharding-sphere/sharding-sphere
mvn clean install
cd sharding-sphere/sharding-proxy
mvn clean package docker:build

配置Sharding-Proxy

创建/${your_work_dir}/conf/config.yaml文件,进行分片规则配置。配置方式请参考配置手册

运行Docker

docker run -d -v /${your_work_dir}/conf:/opt/sharding-proxy/conf --env PORT=3308 -p13308:3308 shardingsphere/sharding-proxy:latest

可以自定义端口3308133083308表示docker容器端口, 13308表示宿主机端口。

docker run -d -v /${your_work_dir}/conf:/opt/sharding-proxy/conf --env JVM_OPTS="-Djava.awt.headless=true" --env PORT=3308 -p13308:3308 shardingsphere/sharding-proxy:latest

可以自定义JVM相关参数到环境变量JVM_OPTS中。

访问Sharding-Proxy

与连接MySQL的方式相同。

mysql -u${your_user_name} -p${your_password} -h${your_host} -P13308

FAQ

问题1:I/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Connection refused?

回答:在构建镜像前,请确保docker daemon进程已经运行。

问题2:启动时报无法连接到数据库错误?

回答:请确保/${your_work_dir}/conf/sharding-config.yaml配置文件中指定的mysql数据库的IP可以被Docker容器内部访问到。