基于docker构建Mycat镜像实现读写分离、分库分表

dockerFile 构建mycat

1.先从官网下载Mycat安装包 下载地址.与dockerFile在同一个目录
或者使用

wget -c http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz

2.在linux 环境下创建dockerFile文件

// An highlighted block
vim dockerFile
#使用jdk1.8
FROM java:8
#使用root用户
USER root
#把解压后的文件夹放入根目录
ADD  Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz /
#配置mycat_home目录
ENV MYCAT_HOME=/mycat
#配置环境变量
ENV PATH=$PATH:${MYCAT_HOME}/bin
WORKDIR $MYCAT_HOME/bin
#权限
RUN chmod u+x /mycat
#配置端口 8066是连接数据库 9066是管理端口
EXPOSE 8066 9066
#前端运行打印日志
CMD ["/mycat/bin/mycat", "console","&"]

构建docker镜像

//注意后边的空格和点,不要省略
docker build -t='mycat:1.6.7' .

查看构建成功镜像

docker的网络模式

Docker有三种网络模式,bridge、host、none,在你创建容器的时候,不指定–network默认是bridge。
bridge:为每一个容器分配IP,并将容器连接到一个docker0虚拟网桥,通过docker0网桥与宿主机通信。也就是说,此模式下,你不能用宿主机的IP+容器映射端口来进行Docker容器之间的通信。
host:容器不会虚拟自己的网卡,配置自己的IP,而是使用宿主机的IP和端口。这样一来,Docker容器之间的通信就可以用宿主机的IP+容器映射端口
none:无网络。

//创建属于自己的network  subnet网段    gateway网管
docker network create --driver bridge --subnet=172.20.0.0/16 --gateway=172.20.0.1 mysql_cloud

创建docker容器

//注意这里我使用自己的创建的network,docker network有三种模式
docker run -d --name=mycat -p 18066:8066 -p 19066:9066 -v /usr/local/mycat/conf:/mycat/conf --network mysql_cloud --ip 172.20.0.5 mycat:1.6.7

修改配置文件这里就直接贴图了后面会讲到关于mycat配置

修改server.xml
在这里插入图片描述
修改schemal.xml配置文件,这边配置两个节点,每个节点下面都有一个写库

在这里插入图片描述
这里我配置两个节点,并且每个节点都只有一个写库

运行成功截图
在这里插入图片描述

最后

关注我公众号,专注分享Java技术干货,包括多线程、JVM、Spring Boot、Spring CloudRedis、架构设计、微服务、消息队列、Linux、面试题、程序员攻略、最新动态等。
Java移动技术栈

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值