docker中的zuul服务连接docker中的mysql数据库动态配置路由信息

1.建立zuul_route路由规则表

/*

SQLyog Ultimate v11.11 (64 bit)

MySQL - 5.5.19 : Database - test

*********************************************************************

*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `test`;

/*Table structure for table `zuul_route` */

DROP TABLE IF EXISTS `zuul_route`;

CREATE TABLE `zuul_route` (

`id` int(11) NOT NULL,

`path` varchar(255) NOT NULL,

`service_id` varchar(50) DEFAULT NULL,

`url` varchar(255) DEFAULT NULL,

`strip_prefix` tinyint(1) DEFAULT '1',

`retryable` tinyint(1) DEFAULT '0',

`enabled` tinyint(1) NOT NULL DEFAULT '1',

`description` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `zuul_route` */

insert into `zuul_route`(`id`,`path`,`service_id`,`url`,`strip_prefix`,`retryable`,`enabled`,`description`) values (1,'/baidu/**',NULL,'http://www.baidu.com',1,0,1,'重定向百度');

insert into `zuul_route`(`id`,`path`,`service_id`,`url`,`strip_prefix`,`retryable`,`enabled`,`description`) values (2,'/client/**',NULL,'http://localhost:7070',1,0,1,'url');

insert into `zuul_route`(`id`,`path`,`service_id`,`url`,`strip_prefix`,`retryable`,`enabled`,`description`) values (3,'/client-a/**','client-a',NULL,1,0,1,'serviceId');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;

/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

2.配置 dynamic-zuul-server连接mysql数据库

spring:

application:

name: dynamic-zuul-server

datasource:

url: jdbc:mysql://mysql:3306/test?useUnicode=true&characterEncoding=utf-8

driver-class-name: com.mysql.jdbc.Driver

username: root

password: 123456

server:

port: 5558

eureka:

client:

serviceUrl:

defaultZone: http://${eureka.host:192.168.1.4}:${eureka.port:8761}/eureka/

instance:

prefer-ip-address: true

ribbon:

eureka:

enabled: true

restimeout: 60000

connecttimeout: 600000

hystrix:

command:

default:

execution:

isolation:

thread:

timeoutinmilliseconds: 60000

3.创建dynamic-zuul-server镜像

mvn clean package -Dmaven.test.skip=true

mvn clean package -Dmaven.test.skip=true docker:build

查看构建是否成功

4.运行dynamic-zuul-server镜像

docker run --hostname=master --name=dynamic-zuul -p 5558:5558 --link mysql:mysql -d dynamic-zuul-server:0.0.1-SNAPSHOT

注意 在运行时要指定--link中的mysql

程序代码为《重新定义springcloud》中的ch8-4

发布了46 篇原创文章 · 获赞 12 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/malingyu/article/details/100929666