1.安裝docker并配置工作目錄
安裝docker
以17.03版本為例
[root@Ieat4 ~]# curl https://releases.rancher.com/install-docker/17.03.sh | sh
測試安裝是否成功
[root@Ieat4 ~]# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
添加"youuser"使用者到docker組
[root@Ieat4 ~]# sudo usermod -aG docker youuser
添加之後該使用者使用docker指令可以不加sudo
設定docker服務開機啟動
[root@Ieat4 ~]# systemctl enable docker.service
設定docker挂載盤
通常安裝完之後docker的資料目錄都在/var/lib/docker 檔案夾下面,一般這個都在我們的系統盤下面,系統盤一般比較小而且一旦重裝系統很可能面臨資料丢失。是以要docker的工作目錄映射到我們的資料盤下面,如下:
映射磁盤到目錄
假如要映射到/data目錄
如果映射到已有目錄就跳過下面步驟
建立/data目錄
[root@Ieat4 ~]# mkdir /data
假設我們有一塊新磁盤尚未映射,下面檢視所有磁盤
[root@Ieat4 ~]# fdisk -l
假設檢視到/dev/sdb沒有被映射,下面我們映射一下
[root@Ieat4 ~]# mount /dev/sdb /data
如果新磁盤有讀寫保護:
mount: /dev/sdb 寫保護,将以隻讀方式挂載
mount: 檔案系統類型錯誤、選項錯誤、/dev/sdb 上有壞超級塊、
缺少代碼頁或助手程式,或其他錯誤
有些情況下在 syslog 中可以找到一些有用資訊- 請嘗試
dmesg | tail 這樣的指令看看。
我們先格式化
[root@Ieat4 ~]# mkfs.ext4 /dev/sdb
下面是結果
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
無論如何也要繼續? (y,n) y
檔案系統标簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
244154368 inodes, 1953234944 blocks
97661747 blocks (5.00%) reserved for the super user
第一個資料塊=0
Maximum filesystem blocks=4102029312
59608 block groups
32768 blocks per group, 32768 fragments per group
4096 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
接着再挂載
[root@Ieat4 ~]# mount /dev/sdb /data
檢視是否挂載成功,發現已經成功,/data目錄有7.3T的可用空間
[root@Ieat4 ~]# df -h /data
檔案系統 容量 已用 可用 已用% 挂載點
/dev/sdb 7.3T 23G 6.9T 1% /data
設定開機自動挂載目錄,否則重新開機主機之後,磁盤未自動挂載導緻docker服務運作異常,通過往/etc/fstab中追加一條記錄來實作
[root@Ieat4 ~]# echo '/dev/sdb /data ext4 defaults 0 0' >> /etc/fstab
檢視一下是否寫入成功
[root@Ieat4 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Sep 29 14:00:46 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 1 1
UUID=0a7a28d0-04ad-4ed2-912c-bf31fc53b13d /boot xfs defaults 1 2
/dev/mapper/centos-home /home xfs defaults 1 2
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb /data ext4 defaults 0 0
映射docker工作目錄
停止docker服務
[root@Ieat4 ~]# service docker stop
将預設docker工作目錄移動到/data下,不要使用cp,移動後/var/lib/docker目錄應該不存在了才對
[root@Ieat4 ~]# sudo mv /var/lib/docker /data
結果我們要把docker工作目錄放在/data/docker下面
[root@Ieat4 ~]# ls /data/docker
containers image network overlay plugins swarm tmp trust volumes
建立軟連接配接,檔案夾後面不要加 “/”,這樣/var/lib/docker即為/data/docker的快捷方式,往/var/lib/docker寫的話,實際寫入了/data/docker目錄
[root@Ieat4 ~]# ln -s /data/docker /var/lib/docker
檢視軟連接配接是否成功
[root@Ieat4 ~]# ls -la /var/lib/docker
lrwxrwxrwx 1 root root 12 7月 14 17:20 /var/lib/docker -> /data/docker
啟動docker
sudo service docker start
檢視是否正常工作
[root@Ieat4 ~]# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2.安裝rancher-server
注意将所有主機的主機名設定好,一定不要用localhost、127.0.0.1等,以免引起叢集網絡通訊不通的問題
挑選一台主機192.168.0.101安裝,在這裡選擇rancher-server的1.6版本
[root@Ieat4 ~]# sudo docker run --name rancher-server -d --restart=unless-stopped -p 18180:8080 rancher/server
等待一兩分鐘後,浏覽器通路一下該主機的18180端口,即看到安裝成功,進入界面後,按照提示添加主機即可
3.添加主機
比如要添加:192.168.0.106
-
設定rancher-server ip位址,設定為其他主機可以通路的ip
0.png
-
點選添加主機
1.png
-
選擇Custom -> 輸入要添加主機的ip -> copy docker 指令
2.png
- 在要添加的主機上運作copy的docker指令
sudo docker run -e CATTLE_AGENT_IP="192.168.0.106" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.10 http://192.168.0.101:18180/v1/scripts/78D7F7E9398F93E7A5B6:1514678400000:xCO6dhSSWPpVF3bGQXWWVZrvgvE
- 傳回主界面即可看到添加成功