MySQL Router 9.0  /  安裝 MySQL Router  /  使用 Docker 安裝 MySQL Router

2.2 使用 Docker 安裝 MySQL Router

Docker 部署框架支援輕鬆安裝和組態 MySQL Router。本節說明如何使用 MySQL Router Docker 映像。

您需要在系統上安裝 Docker 才能使用 MySQL Router Docker 映像。請參閱 安裝 Docker 以取得說明。

重要事項

您需要以 sudo 執行 docker 命令,或者建立 docker 使用者群組,然後將任何想要執行 docker 命令的使用者新增至該群組。請參閱此處以取得詳細資訊。因為 Docker 容器一律以 root 權限執行,您應該了解 Docker daemon 攻擊面並適當降低相關風險。

使用 Docker 部署 MySQL Router 的基本步驟

警告

MySQL 團隊維護的 MySQL Docker 映像是專為 Linux 平台建置的。不支援其他平台,在這些平台上使用這些 MySQL Docker 映像的使用者須自行承擔風險。

下載 MySQL Router Docker 映像

在單獨的步驟中下載伺服器映像並非絕對必要;但是,在建立 Docker 容器之前執行此步驟可確保您的本機映像為最新版本。若要下載 MySQL Community Edition 映像,請執行此命令

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

tag 是您要提取的映像版本標籤(例如,8.0)。如果省略 :tag,則會使用 latest 標籤,並下載最新 GA 版 MySQL Community Router 的映像。請參閱 Oracle Container Registry 並導覽至 MySQL 儲存庫中的 MySQL Router 映像,以取得可用版本的完整標籤清單。

表 2.1 變數

變數 描述
MYSQL_HOST 必要。要連線的 MySQL 主機。
MYSQL_PORT 必要。MySQL 伺服器接聽連接埠。
MYSQL_USER 必要。要連線的 MySQL 使用者。
MYSQL_PASSWORD 必要。字串。MySQL 使用者的密碼。
MYSQL_INNODB_CLUSTER_MEMBERS 選用。整數。等待此數量的叢集執行個體上線。
MYSQL_CREATE_ROUTER_USER 選用。布林值。是否為 MySQL Router 建立新的帳戶以便執行時使用。預設值為已啟用 (1)。設定為 0 (零) 以停用。
MYSQL_ROUTER_BOOTSTRAP_EXTRA_OPTIONS 選用。以逗號分隔的額外命令列選項清單,以在引導啟動期間套用。

在容器中執行需要運作中的 InnoDB 叢集。如果提供,則執行指令碼會等待給定的 mysql 主機啟動、InnoDB 叢集具有 MYSQL_INNODB_CLUSTER_MEMBERS 定義的成員數,然後使用提供的的主機進行引導啟動。請參閱第 3.1 節,「引導啟動 MySQL Router」

例如

$> 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 Router,請將標籤新增至 -ti 值。例如:針對 MySQL Router 9.0.0 使用 -ti container-registry.oracle.com/mysql/community-router:9.0.0。若要使用最新版本,請勿新增標籤。

檢查狀態

$> docker ps

如需其他詳細資訊,請參閱 Oracle Container Registry 並導覽至 MySQL 儲存庫中的 MySQL Router 映像。