環境說明
- linux:centos7
- docker
Docker version 1.13.1, build dded712/1.13.1
- rancher:v1.6.18
本環境搭建需要先安裝docker,docker安裝這裡不寫了,大家自行百度吧。
建立MySQL容器
-
建立掛載目錄
mkdir -p /opt/datas/mysql/{datadir,conf.d,logs} 複製程式碼
-
建立mysql容器,設定密碼123456
docker run --name mysqldb -p 3306:3306 \ -v /opt/datas/mysql/datadir:/var/lib/mysql \ -v /opt/datas/mysql/conf.d:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 複製程式碼
-
查詢測試
docker exec -it mysqldb mysql -p123456 -e "show databases;" 複製程式碼
返回如下資訊說明mysql資料庫初始化成功:
mysql: [Warning] Using a password on the command line interface can be insecure. +--------------------+ | Database | +--------------------+ | information_schema | | cattle | | mysql | | performance_schema | | sys | +--------------------+ 複製程式碼
-
建立庫並授權(庫,使用者,密碼都為cattle)
docker exec -it mysqldb mysql -p123456 -e " create database if not exists cattle collate = 'utf8_general_ci' character set = 'utf8'; grant all on cattle.* to 'cattle'@'%' identified by 'cattle'; grant all on cattle.* to 'cattle'@'localhost' identified by 'cattle'; flush privileges;show databases;" 複製程式碼
執行mysql容器,提示如下錯誤:
解決方法:關閉linux selinux
檢視:blog.csdn.net/lijiqidong/…
建立rancher容器
-
執行rancher容器
mysql機器IP:mysql容器所在的機器IPdocker run -d --name rancher --link=mysqldb:db \ --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:latest \ --db-host db --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle \ --advertise-address mysql機器IP 複製程式碼
等幾分鐘,當資料表建立超過100張時,可以開啟瀏覽器訪問rancher web管理頁面了。
查詢cattle資料庫中表的數量,顯示為109時安裝完成#查詢cattle資料庫中表的數量 docker exec -it mysqldb mysql -u"cattle" -h localhost -p"cattle" -e "use cattle;show tables;" |wc -l 複製程式碼
-
rancher web管理頁面
訪問:http://主機IP:8080
新增主機(節點)
基礎架構——主機——新增主機(儲存)——複製第5部程式碼,在需要管理的docker機器節點執行。
訪問控制
系統管理--訪問控制--開啟訪問控制