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

猜你喜欢

转载自blog.csdn.net/xiaohuibin0541/article/details/83444361
今日推荐