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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章