MySQL 路由器 9.0  /  安装 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 标签,并下载最新 GA 版本的 MySQL 社区路由器镜像。有关可用版本的完整标签列表,请参阅 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:9.0.0 用于 MySQL 路由器 9.0.0。要使用最新版本,请勿添加标签。

检查状态

$> docker ps

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