docker swarm nginx
时间: 2025-01-08 18:55:49 浏览: 5
### 如何在 Docker Swarm 中部署或配置 Nginx
#### 创建并初始化 Docker Swarm 集群
为了能够在 Docker Swarm 上部署 Nginx 服务,首先需要有一个已经初始化好的 Swarm 集群。如果尚未设置集群,则可以通过如下命令来启动单节点或多节点的 Swarm:
```bash
docker swarm init --advertise-addr <MANAGER-IP>
```
这一步骤会创建一个新的管理节点,并返回加入其他工作节点所需的令牌。
#### 编写用于定义 Nginx 服务的 Compose 文件
接下来编写 `service_nginx.yml` 文件以描述要部署的服务[^1]。此文件通常位于项目根目录下,内容可能类似于下面的例子:
```yaml
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
deploy:
replicas: 3
restart_policy:
condition: on-failure
```
上述 YAML 片段指定了使用官方最新的 Nginx 映像作为 Web 服务器,在主机端口 80 和容器内部端口之间建立映射关系;同时设置了三个副本实例以及失败重启策略。
#### 使用 Stack 命令部署 Nginx 到 Swarm 群集
完成 YML 文件编辑之后,就可以通过执行以下指令将整个应用栈推送到 Swarm 当中去了:
```bash
docker stack deploy -c service_nginx.yml nginx_stack_name
```
这里 `-c` 参数后面跟的是之前准备好的 compose 文件路径名,而最后面的部分则是给定的应用名称(可以自定义)。这条语句将会读取指定文件中的所有服务定义并将它们作为一个整体发布到 Swarm 中去。
#### 查看已发布的服务状态
一旦成功提交了请求,便可以用下列命令查看当前正在运行的服务列表及其详情信息:
```bash
docker service ls
```
该操作可以帮助确认新添加进来的 Nginx 实例是否正常运作起来。
阅读全文