Docker 部署框架支援輕鬆安裝和設定 MySQL Router。本節說明如何使用 MySQL Router Docker 映像。
您需要先在系統上安裝 Docker,才能使用 MySQL Router Docker 映像。請參閱 安裝 Docker 以取得相關說明。
您需要使用 sudo
執行 docker
命令,或建立 docker
使用者群組,然後將任何想要執行 docker
命令的使用者新增至該群組。詳情請參閱 此處。由於 Docker 容器一律以根權限執行,您應該瞭解 Docker 精靈攻擊面,並適當降低相關風險。
MySQL 團隊維護的 MySQL Docker 映像專為 Linux 平台建置。不支援其他平台,在這些平台上使用這些 MySQL Docker 映像的使用者須自行承擔風險。
下載 MySQL Router Docker 映像
在個別步驟中下載伺服器映像並非絕對必要;但是,在建立 Docker 容器之前執行此步驟,可確保您的本機映像為最新狀態。若要下載 MySQL 社群版本映像,請執行此命令
$> docker pull container-registry.oracle.com/mysql/community-router:tag
tag
是您要提取的映像版本標籤(例如,8.0
)。如果省略 :
,則會使用 tag
latest
標籤,並下載最新 GA 版本 MySQL 社群路由器的映像。請參閱 Oracle 容器登錄,並導覽至 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 8.4.1 的 -ti container-registry.oracle.com/mysql/community-router:8.4.1
。若要使用最新版本,請勿新增標籤。
檢查狀態
$> docker ps
如需其他詳細資料,請參閱 Oracle 容器登錄,並導覽至 MySQL 儲存庫中的 MySQL Router 映像。