Swarm mode 使用 compose 文件
Swarm 集群中部署 WordPress 為例進(jìn)行說(shuō)明狈网。
version: "3"
services:
wordpress:
image: wordpress
ports:
- 80:80
networks:
- overlay
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
deploy:
mode: replicated
replicas: 3
db:
image: mysql
networks:
- overlay
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
deploy:
placement:
constraints: [node.role == manager]
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
stop_grace_period: 1m30s
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
volumes:
db-data:
networks:
overlay:
在 Swarm 集群管理節(jié)點(diǎn)新建該文件,其中的 visualizer 服務(wù)提供一個(gè)可視化頁(yè)面伤锚,我們可以從瀏覽器中很直觀的查看集群中各個(gè)服務(wù)的運(yùn)行節(jié)點(diǎn)。
在 Swarm 集群中使用 docker-compose.yml 我們用 docker stack 命令妙真,下面我們對(duì)該命令進(jìn)行詳細(xì)講解揉忘。
部署服務(wù)
部署服務(wù)使用 docker stack deploy,其中 -c 參數(shù)指定 compose 文件名
$ docker stack deploy -c docker-compose.yml wordpress
現(xiàn)在我們打開(kāi)瀏覽器輸入 任一節(jié)點(diǎn)IP:8080 即可看到各節(jié)點(diǎn)運(yùn)行狀態(tài)轧铁。如下圖所示:
[圖片上傳失敗...(image-d91731-1562056429029)]
在瀏覽器新的標(biāo)簽頁(yè)輸入 任一節(jié)點(diǎn)IP 即可看到 WordPress 安裝界面每聪,安裝完成之后,輸入 任一節(jié)點(diǎn)IP 即可看到 WordPress 頁(yè)面齿风。
查看服務(wù)
$ docker stack ls
NAME SERVICES
wordpress 3
移除服務(wù)
要移除服務(wù)药薯,使用 docker stack down
$ docker stack down wordpress
Removing service wordpress_db
Removing service wordpress_visualizer
Removing service wordpress_wordpress
Removing network wordpress_overlay
Removing network wordpress_default