美文网首页
docker集群部署

docker集群部署

作者: 带马界的神秘人 | 来源:发表于2017-12-14 21:58 被阅读0次

一 下载地址

从官方下载

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

相关文章

网友评论

      本文标题:docker集群部署

      本文链接:https://www.haomeiwen.com/subject/bmslwxtx.html