Docker集群(docker+swarm+etcd)搭建

1、参考日志位置

http://blog.jobbole.com/98873/

2、准备环境

服务器:

  • 192.168.2.88 centos-node1
  • 192.168.2.89 centos-node2

集群信息:

  • etc服务器:192.168.2.89:2379
  • swarm manage:192.168.2.89:3376
  • swarm-node1:192.168.2.88:2375

软件安装

  1. 在所有的机器上安装dokcer,CentOS操作系统安装步骤可以参考官网
  2. 在centos-node1 上docker pull ystyle/etcd (官方的下载不了,可以配置docker阿里云加速器通过加速器下载)
  3. 在所有机器上dokcer pull swarm
    以上三步可以用docker-machine完成
  4. 开放所有机器的2375端口, centos-node1的2379端口,centos-node1的3376端口

3、安装etcd k-v数据库

在centos-node1上执行:

#设置变量HOSTIP
export HOSTIP=192.168.2.89 
# 运行etcd docker容器
docker run -d -v /etc/ssl/certs:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd ystyle/etcd -name etcd0 \
-advertise-client-urls http://${HOSTIP}:2379,http://${HOSTIP}:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://${HOSTIP}:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster etcd0=http://${HOSTIP}:2380 \
-initial-cluster-state new

4、加入集群

  1. 在centos-node1执行:
    docker run -d swarm join --addr=192.168.2.89:2375 etcd://192.168.2.89:2379/swarm
  2. 在centos-node2执行:
    docker run -d swarm join --addr=192.168.2.88:2375 etcd://192.168.2.89:2379/swarm

5、启动swarm manage

在centos-node1上执行

# 启动swarm manage
docker run -d -p 3376:3376 -t swarm manage -H 0.0.0.0:3376 etcd://192.168.2.89:2379/swarm
# 检查swarm节点列表
docker run --rm swarm list etcd://192.168.2.89:2379/swarm
# 查看swarm集群信息
export DOCKER_HOST=192.168.99.101:3376
docker info
# 测试
docker run --rm -p 8080:80 nginx:alpine 
# 查看nginx安装到哪台机器上了
docker ps -a 
# 访问nginx
 curl -L http://nginx_host:8080

你可能感兴趣的:(Docker集群(docker+swarm+etcd)搭建)