Rancher 除了使用內部的數據庫,你能夠啓動一個Rancher Server並使用一個外部的數據庫。啓動命令與以前同樣,但添加了一些額外的參數去說明如何鏈接你的外部數據庫。sql
注意:在你的外部數據庫中,只須要提早建立數據庫名和數據庫用戶。Rancher會自動建立Rancher所須要的數據庫表。docker
咱們須要提早建立好數據名、爲rancher專門建立一個登錄用戶。數據庫
建立數據庫服務器
CREATE DATABASE IF NOT EXISTS rancher COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
通rancher數據庫建立專用用戶並賦予權限網絡
GRANT ALL ON rancher.* TO 'rancher'@'%' IDENTIFIED BY 'rancher126.128' GRANT ALL ON rancher.* TO 'rancher'@'localhost' IDENTIFIED BY 'rancher126.128';
啓動一個Rancher鏈接一個外部數據庫,你須要在啓動容器的命令中添加額外參數。架構
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable --db-host 172.17.0.1 --db-port 3306 --db-user rancher --db-pass rancher126.128 --db-name rancher
大部分的輸入參數都有默認值而且是可選的,只有--db-host的地址是必須輸入的。less
--db-host IP or hostname of MySQL server --db-port port of MySQL server (default: 3306) --db-user username for MySQL login (default: cattle) --db-pass password for MySQL login (default: cattle) --db-name MySQL database name to use (default: cattle)
宿主機在與容器同一局域網的IP地址通常是docker0對應的IP地址段的首個地址(如172.0.17.1),其實在微服務的架構下不是很建議這樣使用。微服務
這裏使用Docker的宿主機器的MySQL,當啓動Docker的時候,使用ip addr查看宿主機的網絡狀況rest