Docker 部署框架支援輕鬆安裝和組態 MySQL Router。本節說明如何使用 MySQL Router Docker 映像。
您需要在系統上安裝 Docker 才能使用 MySQL Router Docker 映像。請參閱 安裝 Docker 以取得說明。
您需要以 sudo
執行 docker
命令,或者建立 docker
使用者群組,然後將任何想要執行 docker
命令的使用者新增至該群組。請參閱此處以取得詳細資訊。因為 Docker 容器一律以 root 權限執行,您應該了解 Docker daemon 攻擊面並適當降低相關風險。
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 映像。