基于Docker Hub镜像的ProxySQL容器化部署与运行
基于Docker Hub镜像的ProxySQL容器化部署与运行:
1 拉取镜像
从Docker Hub中拉取ProxySQL数据库中间件镜像的方法如下。
# 拉取最新的镜像 [root]# docker pull proxysql/proxysql # 拉取指定版本的镜像 [root]# docker pull proxysql/proxysql:2.0.7
可按需拉取最新或指定版本的ProxySQL镜像
2 创建外挂卷
例如,创建名为proxysql207_1的卷,用于保存持久化的配置数据,命令类似如下。
ProxySQL的配置虽然可以写成
.cnf
文件,但主要仍以SQLite3库的形式保存。为了避免容器异常后配置数据丢失,因此创建外挂卷以持久化配置。
[root]# docker volume create --name proxysql207_1
3 编辑初始配置文件
为了让ProxySQL能正常启动,且可以被远程配置,所以编辑如下配置文件(proxysql.cnf)。
datadir="/var/lib/proxysql" admin_variables= { admin_credentials="admin:admin;radmin:radmin" mysql_ifaces="0.0.0.0:6032" } mysql_variables= { threads=4 max_connections=2048 default_query_delay=0 default_query_timeout=36000000 have_compress=true poll_timeout=2000 interfaces="0.0.0.0:6033" default_schema="information_schema" stacksize=1048576 server_version="5.5.30" connect_timeout_server=3000 monitor_username="monitor" monitor_password="monitor" monitor_history=600000 monitor_connect_interval=60000 monitor_ping_interval=10000 monitor_read_only_interval=1500 monitor_read_only_timeout=500 ping_interval_server_msec=120000 ping_timeout_server=500 commands_stats=true sessions_sort=true connect_retries_on_failure=10 }
4 启动容器
4.1 无配置数据的情况下启动容器
例如,基于proxysql:2.0.7镜像,启动名为proxysql207_1的容器,命令类似如下。
[root]# docker run --name proxysql207_1 \ -p 60321:6032 -p 60331:6033 \ -v /home/sid/config/proxysql/proxysql.cnf:/etc/proxysql.cnf -v proxysql207_1:/var/lib/proxysql \ -d proxysql/proxysql:2.0.7
--name:指定了容器名称;
-p:指定了docker环境内外的端口映射关系。该示例中,将ProxySQL的管理端口(6032)及SQL端口(6033),分别映射至docker环境外的60321及60331端口上;
-v:指定了docker环境内外的存储映射关系。该示例中,将初始配置文件映射为/etc/proxysql.cnf
,作为ProxySQL初次启动的配置文件;同时,将名为proxysql207_1的docker volumn挂载至容器内的/var/lib/proxysql
目录下,从而实现配置持久化。注意:ProxySQL启动时,主要是从
DISK
库中读取配置加载到MEMORY
并最终加载到RUNTIME
生效。
注意:proxysql.cnf
配置文件的挂载应先于/var/lib/proxysql
目录的挂载,因为只有配置文件正确了,才能生成正确的配置数据库。-d:在后台运行容器。
4.2 已有配置数据的情况下启动容器
假设,ProxySQL的配置数据已经存于名为proxysql207_1的docker volumn内,则基于proxysql:2.0.7镜像,启动名为proxysql207_1的容器,命令类似如下。
[root]# docker run --name proxysql207_1 \ -p 60321:6032 -p 60331:6033 \ -v proxysql207_1:/var/lib/proxysql \ -d proxysql/proxysql:2.0.7
--name:指定了容器名称;
-p:指定了docker环境内外的端口映射关系。该示例中,将ProxySQL的管理端口(6032)及SQL端口(6033),分别映射至docker环境外的60321及60331端口上;
-v:指定了docker环境内外的存储映射关系。该示例中,无需再指定启动配置文件,只需将名为proxysql207_1的docker volumn挂载至容器内的/var/lib/proxysql
目录下,即可重用配置。注意:ProxySQL启动时,主要是从
DISK
库中读取配置加载到MEMORY
并最终加载到RUNTIME
生效。-d:在后台运行容器。
5 修改配置
当容器启动后,便可以如下命令,登陆ProxySQL管理端,按需进行配置。
[root]# mysql -h127.0.0.1 -P60321 -uradmin -pradmin --prompt "ProxySQL Admin>"
参考资料:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
搭建内网穿透服务器
前言 有的运营商(比如移动)不给公网IP,但我们又需要公网IP(远程访问家里的NAS,远程控制家里的电脑等)怎么办,自己搭建一台内网穿透服务器。 本教程需要一台有公网IP的服务器,租服务器可以看看我这篇文章:便宜的VPS/云服务器推荐 本篇教程讲两种内网穿透工具的搭建和使用 Proxyer(推荐) Proxyer目前仅支持TCP协议、虽然看起来功能比较简单,但基本可以满足日常使用了,特别是在安装和使用方面,对于新手是比较友好的。 这个不需要被端口映射的设备安装客户端,只需要局域网内一台设备安装客户端就可以映射局域网内所有设备的端口。 截图 服务端 Github地址:https://github.com/khvysofq/proxyer 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig doc...
- 下一篇
阿里云“2020采购季”活动规则攻略,折扣福利不能错过领取第一手资源
2020阿里云开春采购季活动已经开启,今年的采购季可以逛些啥呢?有啥福利呢?别着急我们先从已开放的活动页面看起,活动分为两个时间阶段: 采购季时间: 预热期:2月24日-~~ 预热期你可以干嘛?领取大礼包,报名淘宝红包。把该领的都领了,正式期开启后直接下单,享受福利! 正式期:3月2日-~~ 在这段时间里,想买啥就买吧,别忘了把想买的产品加入购物车噢,特惠产品叠加购物车满减,更划算噢! 采购季地点: www.aliyun.com/sale-season/2020/procurement 一、新用户福利专场 活动期间,用户购买爆款产品买一送二!活动期间,汇聚新用户专享福利折扣低至1折活动期间,新用户下单即可抽取iPhone11 Pro 新用户福利专场:https://www.aliyun.com/sale-season/2020/procurement-new-members 二、消费满额可领淘宝红包 新购累计满3000元即有机会领淘宝现金红包,仅限报名用户参与! 活动报名时间:2020 年 2月 24日至消费金额累计时间:2020 年 3月 2日至 淘宝红包领取时间:2020年4月7日...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境