# Nginx 与 Docker 集成

URL: https://caijiao.org/nginx/docker
Source: docs/nginx/docker.md
Description: 本节介绍 Nginx 与 Docker 的集成方法，包括 Nginx 容器部署、配置卷挂载、端口映射和与后端服务协作，实现容器化高可用 Web 服务。

Nginx 可以在 Docker 容器中运行，实现快速部署、灵活扩展和环境隔离。

## 一、拉取 Nginx 官方镜像

```bash
docker pull nginx:latest
````

* 使用官方稳定镜像，确保安全与兼容性

## 二、运行 Nginx 容器

```bash
docker run -d --name nginx \
    -p 80:80 -p 443:443 \
    -v /path/to/nginx/conf:/etc/nginx/conf.d \
    -v /path/to/html:/usr/share/nginx/html \
    nginx:latest
```

* **-p**：端口映射
* **-v**：挂载配置文件和静态文件目录
* **-d**：后台运行

## 三、与后端容器协作

```nginx
upstream backend {
    server backend_app:8000;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
    }
}
```

* 通过 Docker 网络名称 `backend_app` 连接其他容器
* 配合 `docker-compose` 实现服务编排

## 四、性能与管理优化

1. 使用卷挂载管理 Nginx 配置和日志
2. 配置健康检查，确保容器可用
3. 结合缓存、Gzip 和负载均衡，提高性能
4. 使用 Docker Compose 或 Kubernetes 管理多容器环境

---

通过 Docker 部署 Nginx，可以快速搭建隔离、高可用的 Web 服务环境，实现灵活运维和快速扩展。
