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