直接通過docker鏡像來運行我們的rancher,首先,先從鏡像中心下載rancher鏡像,如果是1.x系列的,鏡像名為
rancher/server,而2.x是
rancher/rancher,此次安裝的為2.x版本。
1.執行如下命令:
docker pull rancher/rancher
6ca5cca6106b: Pull complete
28cb44c70eee: Pull complete
......
Digest: sha256:c9bee6fb020d4142622b05aec6e7f34e7347e6688a3982460fd481a51649ad43
Status: Downloaded newer image for rancher/rancher:latest
docker.io/rancher/rancher:latest
2.查看pull的鏡像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rancher/rancher latest c9fbb6293409 5 days ago 1.39GB
3.查看rancher鏡像詳細信息
docker inspect rancher/rancher:latest

從中可以看出一些有用的環境變量Env,以及數據卷Volumes等一般在Dockerfile構建中的參數。rancher鏡像主要有兩個volume目錄,默認方式是采用匿名卷的方式。
4.使用掛載到指定的主機目錄方式來進行數據卷持久化
mkdir -p /docker_volume/rancher_home/rancher
mkdir -p /docker_volume/rancher_home/auditlog
6.啟動rancher容器
運行 docker 命令啟動容器管理平台應用 rancher,這里假定容器管理數據庫的 IP 地址為 192.168.31.101,端口號為 3306,數據庫為cattle,用戶名為 cattle,密碼為 Cattle123,掛載目錄為第4步中創建的目錄
docker run -d --restart=unless-stopped -p 80:8080 --name rancher-server -e CATTLE_DB_CATTLE_MYSQL_HOST=192.168.31.101 -e CATTLE_DB_CATTLE_MYSQL_PORT=3306 -e CATTLE_DB_CATTLE_MYSQL_NAME=cattle -e CATTLE_DB_CATTLE_USERNAME=cattle -e CATTLE_DB_CATTLE_PASSWORD=Cattle@123 -v /docker_volume/rancher_home/rancher:/var/lib/rancher -v /docker_volume/rancher_home/auditlog:/var/log/auditlog rancher/rancher
her/rancher
c305af886d15718f77d91b257367962d906dd4ecccfc1f68dba632b7aeb2d150
7.查看啟動的容器信息
docker ps

容器狀態:Restarting 說明有異常,查看容器日志
docker logs rancher-server
ERROR: Rancher must be ran with the --privileged flag when running outside of Kubernetes
解決方案:docker run 命令需要加上--privileged
停止刪除容器后重新部署容器后啟動成功。
docker stop rancher-server
docker rm rancher-server
docker run -d --privileged --restart=unless-stopped -p 80:8080 --name rancher-server -e CATTLE_DB_CATTLE_MYSQL_HOST=192.168.31.101 -e CATTLE_DB_CATTLE_MYSQL_PORT=3306 -e CATTLE_DB_CATTLE_MYSQL_NAME=cattle -e CATTLE_DB_CATTLE_USERNAME=cattle -e CATTLE_DB_CATTLE_PASSWORD=Cattle@123 -v /docker_volume/rancher_home/rancher:/var/lib/rancher -v /docker_volume/rancher_home/auditlog:/var/log/auditlog rancher/rancher
docker ps

8.驗證 rancher 是否啟動成功
用瀏覽器訪問 URL:
http://192.168.31.101:8080/