MySQL 路由器 8.4  /  安装 MySQL 路由器  /  使用 Docker 安装 MySQL 路由器

2.2 使用 Docker 安装 MySQL 路由器

Docker 部署框架支持轻松安装和配置 MySQL 路由器。本节介绍如何使用 MySQL 路由器 Docker 镜像。

您需要在系统上安装 Docker 才能使用 MySQL 路由器 Docker 镜像。有关说明,请参阅 安装 Docker

重要

您需要使用 sudo 运行 docker 命令,或创建一个 docker 用户组,然后将希望运行 docker 命令的任何用户添加到该组。有关详细信息,请参阅 此处。由于 Docker 容器始终以 root 权限运行,因此您应了解 Docker 守护进程攻击面 并妥善降低相关风险。

使用 Docker 部署 MySQL 路由器的基本步骤

警告

MySQL 团队维护的 MySQL Docker 镜像专为 Linux 平台构建。不支持其他平台,使用这些 MySQL Docker 镜像的用户自行承担风险。

下载 MySQL 路由器 Docker 镜像

在单独的步骤中下载服务器镜像并非严格必要;但是,在创建 Docker 容器之前执行此步骤可以确保您的本地镜像是最新的。要下载 MySQL 社区版镜像,请运行以下命令

$> docker pull container-registry.oracle.com/mysql/community-router:tag

tag 是您要拉取的镜像版本的标签(例如,8.0)。如果省略 :tag,则使用 latest 标签,并将下载适用于 MySQL 社区路由器的最新 GA 版本的镜像。有关可用版本的完整标签列表,请参阅 Oracle 容器注册表,然后在 MySQL 存储库中导航到 MySQL 路由器镜像。

表 2.1 变量

变量 描述
MYSQL_HOST 必需。要连接的 MySQL 主机。
MYSQL_PORT 必需。MySQL 服务器监听端口。
MYSQL_USER 必需。用于连接的 MySQL 用户。
MYSQL_PASSWORD 必需。字符串。MySQL 用户的密码。
MYSQL_INNODB_CLUSTER_MEMBERS 可选。整数。等待此数量的集群实例联机。
MYSQL_CREATE_ROUTER_USER 可选。布尔值。是否在运行时为 MySQL 路由器创建一个新帐户。默认值为启用(1)。设置为 0(零)以禁用。
MYSQL_ROUTER_BOOTSTRAP_EXTRA_OPTIONS 可选。在引导期间应用的额外命令行选项的逗号分隔列表。

在容器中运行需要一个工作 InnoDB 集群。如果提供,运行脚本将等待提供的 mysql 主机启动,InnoDB 集群拥有 MYSQL_INNODB_CLUSTER_MEMBERS 定义的数量的成员,然后使用提供的主机进行引导。请参阅 第 3.1 节,“引导 MySQL 路由器”

例如

$> docker run \
  -e MYSQL_HOST=localhost \
  -e MYSQL_PORT=3306 \
  -e MYSQL_USER=mysql \
  -e MYSQL_PASSWORD=mysql \
  -e MYSQL_INNODB_CLUSTER_MEMBERS=3 \
  -e MYSQL_ROUTER_BOOTSTRAP_EXTRA_OPTIONS="--conf-use-socket --conf-use-gr-notification" \
  -ti container-registry.oracle.com/mysql/community-router

要使用特定版本的 MySQL 路由器,请将标签添加到 -ti 值。例如:-ti container-registry.oracle.com/mysql/community-router:8.4.1 适用于 MySQL 路由器 8.4.1。要使用最新版本,请勿添加标签。

检查状态

$> docker ps

有关更多详细信息,请参阅 Oracle 容器注册表,然后在 MySQL 存储库中导航到 MySQL 路由器镜像。