首先rancher須要安裝了docker的linux環境,個人系統版本爲mysql
在docker的基礎上啓動rancher服務器,Rancher 服務器是一個 Docker image,因此其軟件自己不須要安裝,只須要執行 Docker 命令下載而且成功運行 Docker 服務器鏡像便可。linux
執行命令 sudo docker run -d --restart=always -p 8080:8080 rancher/servernginx
啓動容器並指定端口,若是沒有rancher/server鏡像會自動下載。執行完成後查看鏡像與容器運行狀況:web
以上步驟完成後,查看本機的ip地址,個人地址爲192.1688.1.109,在瀏覽器輸入http://ip:8080/,登陸到rancher官網,爲安全起見,設置管理帳戶sql
而後進行添加主機操做,根據網站指引操做,生成一條命令,在docker中運行docker
$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.1.109:8080/v1/scripts/9F78F0DF10BCF4216AC7:1483142400000:hSv7KrbGnhQy3IJmJWYhWvxemF4數據庫
會自動下載rancher/agent鏡像瀏覽器
當在宿主機中運行完成後,網站中會顯示成功添加主機tomcat
Environment在Rancher中被定義爲主要用於容器編排和管理的環境,好比Dev或者TEST或者PROD環境等等。目前Rancher支持以下四種:Cattle/Kubernetes/Mesos/Swarm, Cattle是Rancher本身內置的缺省的編排環境,缺省的Default的即爲Cattle類型的。安全
在這裏添加stack:myapp。爲其添加服務nginx,鏡像爲nginx,暴露端口8888。
而後添加負載均衡,分擔nginx服務的流量,在這裏目標服務的端口需爲鏡像內部80端口,若設置爲暴露出的8888端口則訪問失敗
經過負載均衡暴露出的端口90訪問結果以下:
再添加外部服務,指向第一個nginx服務,並鏈接其暴露出的端口8888
而後再添加一個負載均衡,指向外部服務,暴露91端口:
訪問91端口,獲得一樣的訪問結果:
在這裏注意負載均衡與外部服務的區別,負載均衡須要配置服務自身的端口,而外部服務須要爲其配置其所連接服務所暴露出的端口
關於環境變量、服務連接可見接下來的部署web項目時的具體操做。
添加stack webapp
爲其添加服務classnet,其中爲web內容以及服務器tomcat。服務鏡像來自以前完成web容器化時本身所製做鏡像,該鏡像以上傳至阿里雲私有倉庫。因此在添加該服務前,首先要將私有鏡像倉庫添加到rancher的鏡像倉庫:
而後添加classnet服務,暴露端口8899,經過該端口訪問tomcat,測試是否添加成功:
而後添加數據庫服務,在這裏選擇mysql鏡像,除了配置端口,還須要爲數據庫設置環境變量,聲明數據庫訪問的密碼MYSQL_ROOT_PASSWORD與數據庫名稱MYSQL_DATABASE,這兩個環境變量的具體值須要與web項目中的配置保持一致,具體環境變量的配置能夠經過查看mysql官方鏡像的說明:
再返回classnet服務,升級服務,設置服務鏈接,鏈接至mysql服務:
爲網站添加負載均衡,暴露端口10086:
經過負載均衡所暴露端口訪問網站主頁: