基于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条评论来说两句吧...

微信收款码
支付宝收款码