docker swarm

docker swarm 部署服務

  • 一部分
    docker swarm init 初始化docker swarm集羣manager
    docker service create --name demo busybox 創建一個service
    docker servide scale demo=5 橫向擴展爲5個
    docker service ls 查看服務
    docker service ps demo 查看服務在哪些節點運行
    docker service rm deom 刪除服務

  • 二部分
    部署一個應用服務和一個數據庫服務。
    兩個服務可能會分配到不同的swarm節點,通過oveylay網絡通信,可以通過servie name通信。swarm會爲每個service分配一個虛擬IP, 類似DNS服務發現原理,每一個service會分配一個虛擬ip即vip,vip並不是swarm節點的ip地址也不是容器的ip,因爲service會做橫向擴展,service不一定在swarm的哪個節點上,所以每個service都有一個vip,DNS即servie name服務名對應vip。

docker network create -d overlay demo 創建overlay類型的網絡,名字叫demo
docker netwrok ls 查看所有網絡
docker service create --name mysql --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wprdpress --network demo --mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql 啓動mysql服務

docker service create --name wordpress -p 80:80 --network demo --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql wordpress 啓動wordpress服務,做了端口映射,使用swarm任意節點的ip都可以訪問

  • 三部分
    Routing Mesh的兩種體現
    Internal----container和container之間的訪問通過overlay網絡(通過vip)
    Ingress—外部訪問的負載均衡,服務端口被暴露到各個swarm節點,內部通過lvs進行負載均衡

  • 四部分
    docker network ls
    docker network create -d overlay demo // 創建overlay類型的網絡,名字叫demo
    docker network inspect docker_gwbridge // 查看使用該網絡的所有容器

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