前言
Nginx是一款高性能的Web服务器和反向代理工具,结合Docker Compose可以实现快速部署和配置管理。通过本教程可以学习到docker-compose.yml
文件一键部署Nginx服务。
准备工作
-
确保已安装 Docker 和 Docker Compose:
cssbashCopy Code # 检查版本(Docker 20.10+,Docker Compose 2.0+) docker --version docker-compose --version
-
创建项目目录:
bashmkdir nginx-docker && cd nginx-docker
配置 Docker Compose 文件
-
创建
docker-compose.yml
:bashtouch docker-compose.yml
-
编辑文件内容:
yamlversion: '3.8' # 使用兼容的 Compose 版本 services: nginx: image: nginx:latest # 使用官方最新镜像 container_name: my-nginx # 自定义容器名称 restart: always # 自动重启 ports: - "80:80" # 映射宿主机80端口到容器80端口 - "443:443" # 如需HTTPS可启用 volumes: - ./html:/usr/share/nginx/html # 挂载静态网站目录 - ./nginx.conf:/etc/nginx/nginx.conf # 挂载自定义配置文件 - ./conf.d/:/etc/nginx/conf.d/ # 子配置目录挂载 - ./logs:/var/log/nginx # 挂载日志目录 networks: - nginx-net # 自定义网络(可选) networks: nginx-net: driver: bridge
启动 Nginx 服务
-
创建所需目录:
arduinomkdir html logs conf.d
-
启动容器(后台模式):
docker-compose up -d
-
验证服务状态:
shelldocker-compose ps -a # 或浏览器访问 http://localhost
自定义配置
1. 修改默认页面
在 html
目录中创建 index.html
:
bash
echo "<h1>Hello Docker Nginx!</h1>" > html/index.html
2. 自定义 Nginx 配置
-
生成默认配置文件:
bashdocker run --rm nginx cat /etc/nginx/nginx.conf > nginx.conf
-
修改
nginx.conf
后重启服务:cssbashCopy Code docker-compose restart nginx
常用命令
命令 | 说明 |
---|---|
docker-compose logs -f |
查看实时日志 |
docker-compose restart nginx |
重启服务 |
docker-compose down |
停止并删除容器 |
docker-compose exec nginx bash |
进入容器终端 |
注意事项
- 端口冲突:确保宿主机 80/443 端口未被占用
- 配置文件权限:挂载的配置文件需具有正确权限