docker安装nginx使用反向代理
时间: 2024-12-29 12:26:47 浏览: 9
### 使用 Docker 安装 Nginx 并配置反向代理
#### 准备工作
为了通过 Docker 部署带有反向代理功能的 Nginx,需先确认已安装 Docker。如果尚未安装 Docker,则应按照官方指南完成安装过程[^4]。
#### 创建 Docker Compose 文件
创建 `docker-compose.yml` 文件来定义服务:
```yaml
version: '3'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
wordpress:
depends_on:
- db
image: wordpress:latest
environment:
VIRTUAL_HOST: example.com,www.example.com
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
networks:
- backend
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
networks:
- backend
networks:
backend:
```
此文件描述了一个包含三个容器的服务组合:一个用于运行 `jwilder/nginx-proxy` 的容器负责处理 HTTP 和 HTTPS 请求,并作为其他应用(如 WordPress)的入口;另一个则是实际的应用服务器,在这里是以 WordPress 为例[^2]。
#### 启动服务
保存上述 YAML 文件后,在同一目录下执行命令启动所有服务:
```bash
docker-d
```
这会下载必要的镜像并以后台模式启动它们。此时访问指定域名即可看到由 Nginx 处理过的请求被转发给了对应的 Web 应用程序实例。
#### 获取 SSL 证书
对于 HTTPS 支持,可以前往阿里云申请免费的 SSL/TLS 证书,并将其部署到环境中。具体操作涉及将获得的私钥和公钥放置于适当位置以便 Nginx 能够读取使用[^1]。
阅读全文