Docker 部署框架支持轻松安装和配置 MySQL 路由器。本节介绍如何使用 MySQL 路由器 Docker 镜像。
您需要在系统上安装 Docker,然后才能使用 MySQL 路由器 Docker 镜像。有关说明,请参见 安装 Docker。
您需要使用 sudo
运行 docker
命令,或者创建一个 docker
用户组,然后将要运行 docker
命令的所有用户添加到该组中。有关详细信息,请参见 此处。因为 Docker 容器始终以 root 权限运行,所以您应该了解 Docker 守护进程攻击面 并适当缓解相关风险。
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 路由器镜像。