docker swarm 是什麼?node
swarm 是 Docker 官方提供的一款集羣管理工具,其主要做用是把若干臺 Docker 主機抽象爲一個總體,而且經過一個入口統一管理這些 Docker 主機上的各類 Docker 資源。nginx
docker swarm 跟 k8s 同樣,只是swarm比k8s上手簡單,固然功能上也比k8s少一些,對於一些小型企業也夠用了。git
docker swarm的一些概念docker
node節點:swarm是一系列節點的集合,而節點能夠是一臺裸機或者一臺虛擬機。一個節點能扮演一個或者兩個角色,manager或者worker。bash
service:是一個抽象的概念,它只是一個對運行在swarm集羣上的應用服務,所指望狀態的描述。也能夠看做就是你但願運行的一個服務,好比一個nginx服務。工具
stack:stack 是一組服務的集合。網站
Yaml文件:服務定義文件參考 https://docs.docker.com/compose/compose-file/spa
部署Docker swarm.net
兩臺安裝docker的Ubuntu主機。找一臺當manager節點。rest
運行命令 docker swarm init --advertise-addr 192.168.0.100
運行成功後,會出現 join 的命令,複製下來粘貼到worker節點運行便可。
運行成功後在manager節點運行命令
docker node ls 查看集羣節點。
docker service ls 查看運行的服務
部署服務
建立 nginx.yml 文件
version: '3.7'
services:
nginx:
image: nginx:latest
restart: always
ports:
- 8080:80
deploy:
mode: replicated
replicas: 1
docker stack deploy -c nginx.yml nginx-stack
參考網站:https://yeasy.gitbooks.io/docker_practice/content/swarm/