Docker Swarm环境搭建

Swarm是Docker官方提供的一款集群管理工具,其主要作用是将若干台Docker主机抽象成一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。

  • 1.三台服务器,内网互通

192.168.1.100 (manager)
192.168.1.101 (worker1)
192.168.1.102 (worker2)

  • 2.安装docker环境

docker ce  (version 18.09.1)
docker compose (version 1.24.0)

  • 3.使用docker swarm创建集群

3.1.在manager,初始化集群。如果主机只有一个网络接口,则该–advertise-addr标志是可选的。
docker swarm init --advertise-addr=192.168.1.100
3.2.在worker1上执行命令,将worker1加入集群
docker swarm join --token <token> 192.168.1.100:2377
3.3.在worker2上执行命令,将worker2加入集群
docker swarm join --token <token> 192.168.1.100:2377

  • 4.在manager上查看集群列表

docker node ls

  • 5.在manager上查看网络

docker network ls

  • 6.在manager上建立网络

docker network create --driver=overlay --attachable swarm-net

  • 7.将容器的网络连接到新建的my-swarm-net(包括节点manager,worker1,worker2)

docker run -itd --name=myalpine --network=swarm-net alpine

工作节点不能创建通过docker compose创建自定义网络,通过上述命令绑定容易创建,alpine镜像只有5M消耗资源较小。

  • 8.使用docker compose部署服务,以emq一个节点为例:
version: '3'

services:
  emq-node1:
    container_name: emq_node1
    image: emqx/emqx:v3.2.0
    hostname: emq-node1
    extra_hosts:
      - "emq_node2:10.0.4.12"
    environment:
      - TZ=Asia/Shanghai
    networks:
      swarm-net:
        ipv4_address: 10.0.4.15
    restart: always
    tty: true
    ports:
      - 1883:1883
      - 8083:8083
      - 8883:8883
      - 8084:8084
      - 18083:18083

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