安裝docker-machine
建立vm
docker-machine create -d virtualbox --virtualbox-memory=4096 \ --virtualbox-cpu-count=4 --virtualbox-disk-size=40960 \ --virtualbox-no-vtx-check vm1 docker-machine create -d virtualbox --virtualbox-no-vtx-check vm1 docker-machine create -d virtualbox --virtualbox-no-vtx-check vm2 docker-machine create -d virtualbox --virtualbox-no-vtx-check vm3
查看vm細節
docker-machine env vm1 docker-machine ls
進入虛擬機
docker-machine ssh vm1
刪除虛擬機
docker-machine rm vm1
初始化docker swarm節點
docker swarm init --advertise-addr 192.168.1.107
加入一個manager節點
docker swarm join --token SWMTKN-1-5ixph5gyd5gj51jg1749d4c6mms31kdnzcpji5c2yz4ke95rdw-2o9ias3hkslk29ph08wa3seon 192.168.1.107:2377
加入worker節點將以上產生的指令貼上即可
忘記token查詢的指令 需要在Leader執行
docker swarm join-token -q worker
查看節點
docker node ls
移除節點
docker node rm
離線維護節點
docker node update --availability drain vm3
復原維護節點
docker node update --availability active vm3
建立docker service
docker service create --name=my_nginx nginx
新增port
docker service update --publish-add 80 my_nginx
移除port
docker service update --publish-rm 80 my_nginx
擴展docker service
docker service scale my_nginx=5
停止docker service
docker service scale my_nginx=0
查看docker service任務
docker service ps my_nginx
查看docker service細節
docker service inspect --pretty my_nginx
刪除docker service
docker service rm my_nginx
查詢docker service的log
docker service logs -f my_nginx
查詢docker service的訊息
docker service inspect z5q69ix2lh7s
查詢docker volume 掛載的目錄
docker volume inspect my_wordpress_wp_data
視覺化管理工具
Docker Swarm Visualizer
docker service create --name=viz --publish=8080:8080/tcp --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer
佈署yaml腳本
docker-machine ssh vm1 #進入Leader節點
docker stack deploy --compose-file docker-stack.yml my_app docker stack deploy -c docker-copose.yml app
刪除yaml腳本
docker stack rm app
列出及查看Docker Stack
docker stack ls docker stack ps app
刪除Docker Stack
docker stack rm app
- docker swarm 命令用於管理 Swarm 群集
命令 | 描述 |
docker swarm init | 初始化一個 swarm 群集 |
docker swarm join | 加入群集作為節點或管理器 |
docker swarm join-token | 管理用於加入群集的令牌 |
docker swarm leave | 離開swarm 群集 |
docker swarm unlock | 解鎖 swarm 群集 |
docker swarm unlock-key | 管理解鎖鑰匙 |
docker swarm update | 更新 swarm 群集 |
- docker node 命令用於管理 Swarm 群集中的機器節點
命令 | 描述 |
docker node demote | 從 swarm 群集管理器中降級一个或多個節點 |
docker node inspect | 顯示一個或多個節點的詳細訊息 |
docker node ls | 列出 swarm 群集中的節點 |
docker node promote | 將一個或多個節點推入到群集管理器中 |
docker node ps | 列出在一個或多個節點上運行的任務,默認為當前節點 |
docker node rm | 從 swarm 群集刪除一個或多個節點 |
docker node update | 更新一個節點 |
- docker service 命令用於管理 Swarm 群集中的服務
命令 | 描述 |
docker service create | 創建服務 |
docker service inspect | 顯示一個或多個服務的詳细信息 |
docker service logs | 獲取服務的日誌 |
docker service ls | 列出服務 |
docker service rm | 刪除一個或多個服務 |
docker service scale | 設置服務的實例數量 |
docker service update | 更新服務 |
docker service rollback | 恢復服務至 update 之前的配置 |
參考資料
https://www.jianshu.com/p/47fa426ff767