提示:
第一部中的压缩包是为了拿到 conf 文件夹中的所有内容,做挂载
1、下载(这里下载压缩包,是为了,解压出来拿到配置文件,conf文件中的内容)
wget http://dl.mycat.org.cn/1.6.7.6/20210730131311/Mycat-server-1.6.7.6-release-20210730131311-linux.tar.gz
tar -xzvf Mycat-server-1.6.7.6-release-20210730131311-linux.tar.gz
2、下载Dockerfile
wget https://raw.githubusercontent.com/AlphaYu/Adnc/master/doc/mycat/Dockerfile
3、下载的Dockerfile内容(如果下载不了直接按照如下内容创建Dockerfile)
FROM openjdk:8-jdk-stretch
ADD http://dl.mycat.org.cn/1.6.7.6/20201126013625/Mycat-server-1.6.7.6-release-20201126013625-linux.tar.gz /usr/local
RUN cd /usr/local && tar -zxvf Mycat-server-1.6.7.6-release-20201126013625-linux.tar.gz && ls -lna
ENV MYCAT_HOME=/usr/local/mycat
WORKDIR /usr/local/mycat
ENV TZ Asia/Shanghai
EXPOSE 8066 9066
CMD ["/usr/local/mycat/bin/mycat", "console","&"]
4、创建镜像
docker build -t mycat:1.6.7.6 .
5、运行容器
docker run --privileged=true -p 8066:8066 -p9066:9066 --name mycat -v /docker/mycat/conf:/usr/local/mycat/conf -v /docker/mycat/logs:/usr/local/mycat/logs -d mycat:1.6.7.6
6、命令换行展示
docker run \
--privileged=true \
-p 8066:8066 \
-p 9066:9066 \
--name mycat \
-v /docker/mycat/conf:/usr/local/mycat/conf \
-v /docker/mycat/logs:/usr/local/mycat/logs \
--network=adnc_net \
--ip 172.20.0.16 \
-d \
mycat:1.6.7.6
7、参数说明
--privileged=true # 容器内部对挂载的目录有读写等权限
-p 8066:8066 # 端口映射
-p 9066:9066 # 端口映射
--name mycat # 容器名称
-v /docker/mycat/conf:/usr/local/mycat/conf # 挂载配置文件目录
-v /docker/mycat/logs:/usr/local/mycat/logs # 挂载日志目录
--network=meishibiexuejava --ip 172.20.0.16 # meishibiexuejava是自建的bridge网络,如果使用docker默认网络,不需要这段
-d # 后台运行
mycat:1.6.7.6 # 要运行的镜像+版本
8、如果用的是如果用的数据库比较高可能mycat自带的jar没有需要手动上传到mycat/lib中(参考,部分内容需要修改)
docker cp /docker/mycat/lib/mysql-connector-java-8.0.16.jar 9dc84036f7c5:/usr/local/mycat/lib