一 下载地址
从官方下载
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
http://mirrors.aliyun.com/centos/7/extras/x86_64/Packages/
从百度网盘下载
链接: https://pan.baidu.com/s/1o8FYkcy 密码: 959h
二 安装rpm
yum install docker-ce-17.09.1.ce-1.el7.centos.x86_64.rpm container-selinux-2.33-1.git86f33cd.el7.noarch.rpm
三 设置/etc/docker/daemon.json
{
"registry-mirrors": [
"https://l1uaai20.mirror.aliyuncs.com"
],
"hosts":[
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2375"
],
"ip-forward": true,
"ip-masq": true,
"selinux-enabled": false,
"userland-proxy": false
}
四 启动docker
systemctl enable docker
systemctl start docker
开启集群
# 创建一个集群
docker swarm init --advertise-addr=192.169.0.62
# 现实的当前集群内的节点
docker node ls
# 获取加入集群的命令
docker swarm join-token manager
# 执行加入集群的命令
docker swarm join --token SWMTKN-1-50h9s1x7gmp30a3kg88gq9was6lnvajil4dcubwezx0minuy2x-3knd47wquhweo2q57fblm4bqa 192.169.0.62:2377
# 节点运行docker node ls 查看所有的集群内节点
docker node ls
集群文件系统(分布式文件系统)
配置防火墙
iptables -I INPUT -j ACCEPT
建立glusterfs 文件分布式系统 1份 备份到两个机器上
docker-compose 创建文件集群系统
找到集群的里的两台机器执行
mkdir /home/glusterfs
cd /home/glusterfs
vim docker-compose.yml
## 文件内容
version: '2'
services:
gfs:
image: gluster/gluster-centos
network_mode: host
privileged: true
restart: always
volumes:
- /home/glusterfs/glusterd:/var/lib/glusterd:rw
- /home/glusterfs/logs:/var/log/glusterfs:rw
- /home/glusterfs/config:/var/log/glusterfs:rw
- /home/glusterfs/data:/data
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /dev:/dev
## 文件内容结束
## 编辑机器的hosts 所有节点做一遍
cat >> /etc/hosts <<EOF
192.169.0.17 gfs1
192.169.0.62 gfs2
EOF
## 检查hosts文件
cat /etc/hosts
## 启动文件系统 (操作 选择的两台文件系统集群机器里做一遍)
cd /home/glusterfs
docker-compose up -d
## 配置集群 (操作 选择的两台文件系统集群机器里做一遍)
docker-compose exec gfs bash
mkdir /data/gfs
## 添加集群节点 (操做 只在其中一台 作就可以了)
gluster peer probe gfs2
## 查看节点状态
gluster peer status
## 创建共享目录 (操做 只在其中一台 作就可以了)
gluster volume create gfs repl 2 gfs1:/data/gfs gfs2:/data/gfs
gluster volume start gfs
## 推出docker-compose 容器 (操作 选择的两台文件系统集群机器里做一遍)
exit
## 挂在共享目录 所有节点做一遍
mkdir /home/share
mount -t glusterfs gfs1:/gfs /home/share
## 检查是否挂载成功 (能看见/home/share)
df -k
发布docker管理
git clone http://192.168.1.30:10101/r/tstsys/swarmManager.git
cd swarmManager
npm install
npm run build
找一台机器就可以了 62
mkdir /home/share/mysql_master
mkdir /home/share/tomcat
mkdir /home/share/uploads
mkdir /home/share/nginx
mkdir /home/manager
mkdir /home/manager/app
# zip包解压到 /home/share/app下
cd /home/manager
vim docker-compose.yml
### 文件内容
version: "2"
services:
manager:
image: node:8.3
ports:
- 8808:8808
volumes:
- /home/manager/app:/app:rw
- /home/share:/share:rw
environment:
- MANAGER_HOST=192.168.0.62
- PROXY_URL=http://172.20.109.77:3128/
- MYSQL_SERVER=192.168.0.62
- MYSQL_PORT=13306
command: /app/start.sh
### 文件内容结束
cd /home/manager/app
vim start.sh
### 文件内容
#!/bin/bash
cd /app
pwd
export NODE_ENV=production
/usr/local/bin/node server/app.js
### 文件内容
chmod +x start.sh
cd /home/manager
docker-compose up -d
## 查看日志
docker-compose logs --tail=100 -f
访问浏览器机器ip:8808
网友评论