Rancher 快速上手指南操作(1)該指南知道用戶如何快速的部署Rancher Server 管理容器。前提是假設你的機器已經安裝好docker了。1 確認 docker 的版本,下面是 ubuntu 的輸出
[#63#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker version
[sudo] password for cloudsoar:
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.3
Git commit: a34a1d5
Built: Fri Nov 20 17:56:04 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.3
Git commit: a34a1d5
Built: Fri Nov 20 17:56:04 UTC 2015
OS/Arch: linux/amd64
2 確認 docker 服務已經啟動[#64#cloudsoar@cloudsoar-virtual-machine ~]$sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://docs.docker.com
[#9#cloudsoar@cloudsoar-virtual-machine ~]$service docker start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: cloudsoar,,, (cloudsoar)
Password:
[#10#cloudsoar@cloudsoar-virtual-machine ~]$service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
Active: active (running) since 三 2016-03-16 13:48:08 CST; 3s ago
Docs: https://docs.docker.com
Main PID: 10526 (docker)
CGroup: /system.slice/docker.service
└─10526 /usr/bin/docker daemon -H fd://
我使用 sudo docker status 觀察的時候,發現 docker 服務并沒有啟動,手動調用 service do
cker start 啟動。然后再次查看,看到狀態是 running 了。
3 啟動 Rancher 服務器
Rancher 服務器是一個 Docker image,所以其軟件本身不需要安裝,只需要執行 Docker 命
令下載并且成功運行 Docker 服務器鏡像即可。
[#13#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker run -d --restart=always -p 8080:8080 rancher/server
Unable to find image 'rancher/server:latest' locally
latest: Pulling from rancher/server
d46dba346816: Pulling fs layer
a2851d201e25: Pulling fs layer
b262e58356c2: Pulling fs layer
ceffdc5777c7: Pulling fs layer
a28d44434980: Pulling fs layer
f800a1597427: Pulling fs layer
60af5060daf4: Pull complete
b1dd93d5a711: Pull complete
0d7dfe35cf6a: Pull complete
58e93f0715e7: Pull complete
a9dbd765bf44: Pull complete
4bfcf74f9624: Pull complete
d330fcc1e464: Pull complete
3da33c2536ae: Pull complete
95241837a38f: Pull complete
ec54f4e41d98: Pull complete
cdc934c804b3: Pull complete
ab8a261178e3: Pull complete
89833fcf633e: Pull complete
7df15d047ef2: Pull complete
2c5bb9b85b2e: Pull complete
2517d3de4cde: Pull complete
dca61fda9ea4: Pull complete
8566ccc2c63c: Pull complete
720ffa009a71: Pull complete
3c65bd6b0c6d: Pull complete
f8b5f2d5eebe: Pull complete
9c495859a0e4: Pull complete
20bee38968e6: Pull complete
f80a8ea9cd3e: Pull complete
c9c864eb9bef: Pull complete
Digest: sha256:989c47a7eb94352826f420c48ec4d0343ef43aee83d619bfa064f1642f1811fb
Status: Downloaded newer image for rancher/server:latest
1613c4b9d70d6f39a82e6148a0ce08422cef3541de19de5d68dfed22196c4076
命令行參數解釋:
docker run 的 -d 參數標示在后臺運行, --restart=always 容器如果異常停止自動重啟。-p
8080:8080 把 Rancher 服務器的UI 對外服務(容器內)的端口 8080 ,綁定到到宿主機的
8080 端口。 后面跟的鏡像名 rancher/server ,Docker 會首先檢查本地有沒有這個鏡像,
如果沒有,Docker 會去 Docker Hub 將這個鏡像下載下來,并且啟動。
我這里下載了將近一個小時。
4 檢查是否成功正確下載了 rancher/server 鏡像
[#15#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 001d664e2dd4 7 hours ago 188 MB
zhiyewang/apache2 latest e9c0ce8fc3ae 23 hours ago 244.6 MB
rancher/server latest c9c864eb9bef 28 hours ago 768.2 MB
paulcos11/docker-tutorial latest e37931352714 9 days ago 587.8 MB
fedora latest 9bdb5101e5fc 11 days ago 204.7 MB
ubuntu 14.04 8ed581e3fa7a 12 days ago 188 MB
hello-world latest 0a6ba66e537a 5 months ago 960 B
可以看到我這里成功下載了。
5 檢查 Rancher 服務器容器是否已經正常運行
[#17#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1613c4b9d70d rancher/server "/usr/bin/s6-svscan /" 5 minutes ago Up 5 minutes 3306/tcp, 0.0.0.0:8080->8080/tcp modest_bell
042ff0ac2af7 zhiyewang/apache2 "/bin/bash" 20 minutes ago Up 20 minutes elated_hoover
6 用瀏覽器打開 Rancher 服務器容器 UI 界面[#20#cloudsoar@cloudsoar-virtual-machine ~]$ifconfig
eth0 Link encap:以太網 硬件地址 00:0c:29:72:dc:f7
inet 地址:192.168.2.28 廣播:192.168.2.255 掩碼:255.255.255.0
inet6 地址: fe80::20c:29ff:fe72:dcf7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點數:1
接收數據包:571758 錯誤:0 丟棄:0 過載:0 幀數:0
發送數據包:335098 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發送隊列長度:1000
接收字節:620330947 (620.3 MB) 發送字節:125962556 (125.9 MB)
可以看到我的宿主機的 IP 是 192.168.2.28,之前我們通過 docker run 命令將 Rancher Serv
er 容器的 8080 端口綁定到了宿主機的 8080 端口。現在要想訪問容器內部的網頁,可以輸入宿
主機器的 IP 和端口即可。

7 Rancher 服務器配置
7.1 添加賬號
首次登錄,還沒有配置訪問權限,為了安全期間,首先點擊上面的 ACCESS CONTROL 來新建
一個本地賬號和密碼。

輸入自己要設置的賬號和密碼
點擊 Enable Local Authentication,打開本地驗證,下次就需要輸入用戶名和密碼才能登錄了。
7.2 日志觀測
單獨開一個終端,打開 Rancher Server 容器的日志輸出,觀測:
命令是: sudo docker logs -f 容器ID
7.3 添加主機
主機是 Rancher 工作的節點,類似服務器虛擬化的 Hypervisor,我們現在做 All-in-one 測試
,將宿主機添加到 Rancher 節點主機。

選擇 APPLICATIONS 下面的 Add Host,彈出的界面選擇 Custom,將頁面第 4 步出現的內
容復制粘貼下來。拿到宿主機的命令行執行。

7.4 安裝 Rancher Agent
將上述的命令拷貝到宿主機粘貼執行
[#26#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v0.10.0 http://192.168.2.28:8080/v1/scripts/D7A384BCBAC6FF19B5FC:1458111600000:JFTgk9cNkZFY5iZVQM9kInyRmuw
[sudo] password for cloudsoar:
Unable to find image 'rancher/agent:v0.10.0' locally
v0.10.0: Pulling from rancher/agent
b3efe11ed0e2: Downloading 526.1 kB/65.69 MB
會自動下載 rancher/agent 鏡像并運行。等待下載完畢。
查看一下進程,多出一個 rancher/agent 的進程,并且已經運行。
此時再回網頁查看 Web 控制臺界面,查看 Host 添加之后的結果。

可以看到已經多了一臺活動主機(宿主機),上面運行一個 Rancher Server 容器,就是 Ranc
her 服務器自己。如果你有其他主機,也可以添加其他主機進來。
8 通過 Web UI 運行容器
現在通過圖形界面來運行容器,而不是通過命令行。

8.1 添加容器
在 INFRASTRUCTURE 標簽選擇 CONTAINERS,選擇 Add Container
1 輸入 first_container 作為容器名稱
2 使用默認的 Ubuntu 14.04.3 鏡像
3 點擊Create 按鈕
點擊創建即可。
經過幾秒鐘可以看到多出一個 first_container 容器和一個 Network Agent。first_container
作為本測試創建的容器。
下面哪個 Network Agent 作用是用戶主機之間的網絡通信。

1 在新建的 Ubuntu 容器的菜單上點擊向下按鈕
2 在Web 頁面中選擇運行 Shell 選項
以后就可以在此操作容器了。如果您偏愛 CLI 命令行,可以直接到宿主機的命令行操作。