Docker Swarm部署

環境說明
lc08:192.168.56.164 Centos7.4 docker swarm 管理
lc09:192.168.56.165 Centos7.4 docker swarm 節點
lc10:192.168.56.167 Centos7.4 docker swarm 節點
lc11:192.168.56.168 Centos7.4 本地私有倉庫registry
1、安裝docker
更新系統yum源
[root@lc08 ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2424 100 2424 0 0 1355 0 0:00:01 0:00:01 --:–:-- 1354
查看docker-ce的yum源頭
[root@lc08 ~]# ls -l /etc/yum.repos.d/
total 12
drwxr-xr-x. 2 root root 229 Jun 25 23:10 bak
-rw-r–r--. 1 root root 2523 Jun 16 06:22 CentOS-Base.repo
-rw-r–r-- 1 root root 2424 Jul 24 15:39 docker-ce.repo
-rw-r–r--. 1 root root 664 May 11 11:35 epel.repo

安裝docker
[root@lc08 ~]# yum install -y docker-ce
啓動docker
[root@lc08 ~]# systemctl start docker
[root@lc08 ~]# systemctl status docker Docker狀態
[root@lc08 ~]# systemctl enable docker Docker開機自啓動
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
驗證安裝是否正確:
[root@lc08 ~]# docker run hello-world
檢查是否安裝成功
2、docker version查看docker的版本信息

3、修改鏡像和容器默認位置
默認情況下docker的存放位置爲:/var/lib/docker/
以下命令可以查看到docker所在的路徑
[root@lc08 ~]# docker info | grep “Docker Root Dir”
Docker Root Dir: /var/lib/docker
[root@lc08 ~]# mkdir /app/docker 在/app下新建docker 制定鏡像存儲路徑
[root@lc08 ~]#vi /usr/lib/systemd/system/docker.service 默認在這個位置
ExecStart=/usr/bin/dockerd --graph /app/docker #增加粗體字部分指定存儲位置
[root@lc08 ~]# systemctl daemon-reload #加載配置文件
[root@lc08 ~]# systemctl restart docker 重啓docker
[root@lc08 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2018-07-24 16:41:53 CST; 1min 17s ago
Docs: https://docs.docker.com
Main PID: 12960 (dockerd)
Memory: 43.7M
CGroup: /system.slice/docker.service
├─12960 /usr/bin/dockerd --graph /app/docker
└─12967 docker-containerd --config /var/run/docker/containerd/containerd.toml

Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.242600624+08:00” level=info msg="pickfirstBalancer: HandleSubCon…le=grpc
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.242728310+08:00” level=info msg=“pickfirstBalancer: HandleSubCon…le=grpc
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.242741912+08:00” level=info msg=“Loading containers: start.”
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.312375955+08:00” level=info msg=“Default bridge (docker0) is ass…ddress”
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.341941840+08:00” level=info msg=“Loading containers: done.”
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.343239688+08:00” level=warning msg=“Not using native diff for ov…verlay2
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.353267514+08:00” level=info msg=“Docker daemon” commit=0ffa825 g…06.0-ce
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.353370952+08:00” level=info msg=“Daemon has completed initialization”
Jul 24 16:41:53 lc08 dockerd[12960]: time=“2018-07-24T16:41:53.367725268+08:00” level=info msg=“API listen on /var/run/docker.sock”
Jul 24 16:41:53 lc08 systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
如果docker是1.12或以上的版本,可以修改(或新建)daemon.json文件。修改後會立即生效,不需重啓docker服務。
vim /etc/docker/daemon.json
{“registry-mirrors”: [“http://7e61f7f9.m.daocloud.io”],“graph”: “/new-path/docker”}
[root@lc08 ~]# cat /etc/docker/daemon.json
{“insecure-registries”:[“192.168.56.167”],“graph”:”/app/dockerImage/docker”}
安裝Compose
1、下載安裝Compose
[root@lc08 ~]# curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 617 0 617 0 0 706 0 --:–:-- --:–:-- --:–:-- 706
100 8084k 100 8084k 0 0 1490k 0 0:00:05 0:00:05 --:–:-- 1952k
2、爲安裝腳本授權
[root@lc08 ~]# chmod +x /usr/local/bin/docker-compose
3、測試安裝是否成功
[root@lc08 ~]# docker-compose -version
docker-compose version 1.14.0, build c7bdf9e
創建Swarm網絡
1、初始化
[root@lc08 ~]# docker swarm init 主節點初始化
Swarm initialized: current node (cnrmgb3wiof2qjikfy7yph89l) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-13jgt0g2orqc5s617z756e258xjus2s70vgowojn3u0k7mas8u-e7gnkb3g8dl92jwt8alrf30j9 192.168.56.164:2377

To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

2、將其他節點服務器加入集羣
其他兩個節點運行docker swarm join --token SWMTKN-1-13jgt0g2orqc5s617z756e258xjus2s70vgowojn3u0k7mas8u-e7gnkb3g8dl92jwt8alrf30j9 192.168.56.164:2377 注意這個是主節點初始化後產生的
[root@lc09 ~]# docker swarm join --token SWMTKN-1-2d58wc9oan4w2t11jh49kro9zvqryr3s8exogtguxtc7rrqcoy-05c5uwf3z71fo4zpx3y49gjak 192.168.56.164:2377
This node joined a swarm as a worker.
[root@lc10 ~]# docker swarm join --token SWMTKN-1-2d58wc9oan4w2t11jh49kro9zvqryr3s8exogtguxtc7rrqcoy-05c5uwf3z71fo4zpx3y49gjak 192.168.56.164:2377
This node joined a swarm as a worker.
在Manager節點上查看node數量
[root@lc08 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
v3wds0zzgvxuu24opnuvrz4tp * lc08 Ready Active Leader 18.06.0-ce
anydan6qd9hk0p70kc5w9g9df lc09 Ready Active 18.06.0-ce
trrycahxts1c2o4xwv9cy41hz lc10 Ready Active 18.06.0-ce
移除節點在主節點上運行 docker node rm 節點id
[root@lc08 ~]# docker swarm join-token manager --quiet
SWMTKN-1-2d58wc9oan4w2t11jh49kro9zvqryr3s8exogtguxtc7rrqcoy-1d2cwre0rn6phei5d9omt30dz
3、創建overlay網絡
[root@lc08 ~]# docker network create --driver overlay --subnet 192.168.56.0/24 --opt encrypted \UAT
v4erxk3kby8vnffrnnhc0wigs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章