使用rancher 搭建docker集群

2021-09-20 05:33:31 字數 4551 閱讀 4016

以17.03版本為例

[root@ieat4 ~]# curl  | 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

[root@ieat4 ~]# systemctl enable docker.service
通常安裝完之後docker的資料目錄都在/var/lib/docker 資料夾下面,一般這個都在我們的系統盤下面,系統盤一般比較小而且一旦重灌系統很可能面臨資料丟失。所以要docker的工作目錄對映到我們的資料盤下面,如下:

如果對映到已有目錄就跳過下面步驟

新建/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

#uuid=0a7a28d0-04ad-4ed2-912c-bf31fc53b13d /boot xfs defaults 1 2

/dev/sdb /data ext4 defaults 0 0

停止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

挑選一台主機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埠,即看到安裝成功,進入介面後,按照提示新增主機即可

比如要新增:192.168.0.106

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

docker搭建Rancher服務

準備5臺記憶體為4g且安裝好docker和docker compose的伺服器a,b,c,d,e 可參考 其中一台a安裝rancher server etcd control 3臺bcd安裝rancher agent worker 最後一台e安裝harbor nfs檔案伺服器。3 執行install...

dock基本使用

要安裝最新的 docker 版本,首先需要安裝 apt transport https 支援,之後通過新增源來安裝。要安裝最新的 docker 版本,首先需要安裝 apt transport https 支援,之後通過新增源來安裝。sudo docker images 顯示本地已有的映象 sudo ...

SqliLabs靶場漏洞環境搭建Docker版

1.更新源 sudo i apt get update apt get clean aptinstall y curl git2.安裝docker curl fssl bash s docker mirror aliyun3.配置docker加速 vi etc docker daemon.json新...