构建镜像Dockerfile
FROM docker.io/adoptopenjdk/openjdk8:latest ENV AUTO_RUN_DIR ./mycat2 ENV DEPENDENCE_FILE mycat2-1.21-release-jar-with-dependencies-2021-12-16.jar ENV TEMPLATE_FILE mycat2-install-template-1.20.zip RUN buildDeps='procps wget unzip' && apt-get update && apt-get install -y $buildDeps RUN wget -P $AUTO_RUN_DIR/ http://dl.mycat.org.cn/2.0/1.21-release/$DEPENDENCE_FILE && wget -P $AUTO_RUN_DIR/ http://dl.mycat.org.cn/2.0/install-template/$TEMPLATE_FILE RUN cd $AUTO_RUN_DIR/ && unzip $TEMPLATE_FILE && ls -al . && mv $DEPENDENCE_FILE mycat/lib/ && chmod +x mycat/bin/* && chmod 755 mycat/lib/* && mv mycat /usr/local #copy mycat /usr/local/mycat/ VOLUME /usr/local/mycat/conf VOLUME /usr/local/mycat/logs EXPOSE 8066 1984 CMD ["/usr/local/mycat/bin/mycat", "console"]
开始构建镜像
docker build -t mycat.org.cn/mycat2:20211216 .
然后构建初始目录
cd /usr/local mkdir -p /usr/local/mycat wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip unzip mycat2-install-template-1.20.zip mv mycat/conf/ ./conf && rm -rf mycat
接着修改mycat数据源proto
修改/usr/local/mycat/conf/datasources下的prototypeDs.datasource.json,内容如下 { "dbType":"mysql", "idleTimeout":60000, "initSqls":[], "initSqlsGetConnection":true, "instanceType":"READ_WRITE", "maxCon":1000, "maxConnectTimeout":3000, "maxRetryCount":5, "minCon":1, "name":"prototypeDs", "password":"123456", "type":"JDBC", "url":"jdbc:mysql://数据库的docker主机名:3306/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8", "user":"mycat", "weight":0 }
然后给数据库里配置mycat用户
CREATE USER 'mycat'@'%' IDENTIFIED BY '123456'; --必須要複的權限 GRANT XA_RECOVER_ADMIN ON *.* TO 'root'@'%'; ---視情況賦值權限 GRANT ALL PRIVILEGES ON *.* TO 'mycat'@'%' ; flush privileges;
最后容器跑起来
docker run -itd --name mycat --link 数据库的docker主机名:数据库的docker主机名 -p 8066:8066 -v /usr/local/mycat/conf:/usr/local/mycat/conf -v /usr/local/mycat/logs:/usr/local/mycat/logs mycat.org.cn/mycat2:20211216
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)