基于Docker Hub镜像的ProxySQL容器化部署与运行-阿里云开发者社区

开发者社区> autopenguin> 正文

基于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>"

参考资料:

  1. https://hub.docker.com/r/proxysql/proxysql

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架。2019 年7月3日,阿里云Prometheus云托管实例正式开始免费公测。针对容器集群监控场景,提供了完整的采集、存储、监控、告警、图表展现的数据监控服务。
11089 0
Docker 为 ASP.NET Core Web 应用程序生成 Docker 映像,创建并运行多个容器
1.为 ASP.NET Core 应用程序生成 Docker 映像 下载这个事例项目:https://github.com/dotnet/dotnet-docker/tree/master/samples/aspnetapp 下载完成后给这项目生成一个镜像名为aspnetapp镜像 docker build -t aspnetapp .
885 0
Spring IOC 容器源码分析
原文出处:https://javadoop.com/post/spring-ioc Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。
705 0
Docker 为 ASP.NET Core WebApi 应用程序生成 Docker 映像,创建容器并运行
1.使用VS2017新建ASP.NET Core WebApi项目 选择API启用Docker支持 2.为 ASP.NET Core WebApi 应用程序生成 Docker 映像,并创建容器运行 生成项目,将项目拷贝到 E:\web\aspnetcore.
1661 0
使用Systemd运行Docker容器
本文讲的是使用Systemd运行Docker容器,【编者的话】现今Docker的每个主要发行版都在转移到Systemd上,使用Systemd运行Docker更有便于主机系统初始化以及进程管理等。但Systemd在监控容器上有一弊端,它不监控容器,而监控的是客户端,导致了若客户端与容器脱离联系后无论容器是否运行正常Systemd均会将该容器停掉等问题。
1702 0
Docker的镜像和容器的区别
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/48252799 Docker的镜像和容器的区别 作者:chszs,版权所有,未经同意,不得转载。
632 0
+关注
2
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载