使用dockerFile构建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、面试题、程序员攻略、最新动态等。