Nginx HTTP 服务部署
约 297 字小于 1 分钟
DockerDocker ComposeNginxHTTP
2026-03-20
1. 先导出默认配置
mkdir -p ./nginx/conf
mkdir -p ./nginx/logs
docker run --name nginx -d nginx
docker cp nginx:/etc/nginx/nginx.conf ./nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d/ ./nginx/
docker cp nginx:/usr/share/nginx/html/ ./nginx/
docker stop nginx
docker rm nginx2. compose 示例
services:
nginx:
image: nginx:1.27.4
container_name: nginx
restart: always
stdin_open: true
tty: true
ports:
- 80:80
volumes:
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
- ./nginx/logs:/var/log/nginx3. 适合这样用
这类部署方式适合需要保留原始 Nginx 配置、静态资源和日志目录的场景,便于后续直接在宿主机维护配置文件。
4. 启动容器
docker compose up -d5. 修改配置后的重载方法
修改 ./nginx/conf.d 或 ./nginx/conf/nginx.conf 后,建议先测试配置,再重载服务:
docker exec nginx nginx -t
docker exec nginx nginx -s reload6. 使用建议
- 如果只是作为统一入口,尽量只暴露 Nginx 端口,后端服务走内部网络即可,相关说明见 3.容器网络与端口映射。
- 配置和静态资源目录都属于需要备份的内容,相关说明见 11.备份与恢复策略。