一、需求背景
存在3台服务器,使用其搭建nginx集群,用户通过3个地址都能访问配置的同一个nginx前端页面。
服务器1:192.168.3.88(Master)
服务器2:192.168.3.45(Node45)
服务器3:192.168.3.47(Node47)
二、创建docker swarm集群
创建过程:略
创建完毕后,使用docker node ls 查看集群节点。
使用docker info查看集群状态。
[root@Master nginx]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
6gmkg2uqo4lot0do30e6l1kt6 * Master Ready Active Leader 24.0.5
t6r9907o7p273fulmehvy8d6u Node45 Ready Active 24.0.5
v1c606b62prsg6tin8fi294sh Node47 Ready Active 24.0.5
三、创建nginx集群服务
编写一个docker-compose.yml文件,内容如下:
注意:
1)映射本地nginx.conf文件到集群nginx容器中。
2)映射本地nginx前端程序目录文件到集群nginx容器中。
version: '3'
services:
nginx:
image: nginx:latest
ports:
volumes:
networks:
networks:
定义的nginx.conf配置文件内容如下:
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
# root /docker/nginx/web;
root /usr/share/nginx/html;
index index.html;
}
}
}
三、部署nginx集群服务
使用以下命令在Docker Swarm中部署服务:
docker stack deploy -c docker-compose.yml nginx-stack
查看集群服务状态: docker service ls
[
ID NAME MODE REPLICAS IMAGE PORTS
oeen7uf9za44 nginx-stack_nginx replicated 1/1 nginx:latest *:80->80/tcp