Docker 部署 Nginx 完整指南

Docker 部署 Nginx 完整指南

1. 准备工作

1.1 创建挂载目录

bash 复制代码
# 创建挂载目录
mkdir -p /root/software/nginx/conf
mkdir -p /root/software/nginx/log
mkdir -p /root/software/nginx/html

2. 初始运行 Nginx 容器

2.1 启动临时容器

bash 复制代码
# 生成临时容器用于获取默认配置
docker run --name nginx -p 9001:80 -d nginx

2.2 复制配置文件到宿主机

bash 复制代码
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /root/software/nginx/conf/nginx.conf

# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /root/software/nginx/conf/conf.d

# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /root/software/nginx/

3. 清理临时容器

bash 复制代码
# 查找nginx对应的容器id
docker ps -a

# 关闭该容器
docker stop nginx

# 删除该容器
docker rm nginx

# 或者直接强制删除正在运行的nginx容器
docker rm -f nginx

4. 正式运行 Nginx 容器

bash 复制代码
docker run \
-p 80:80 \
--name nginx \
-v /root/software/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/software/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/software/nginx/log:/var/log/nginx \
-v /root/software/nginx/html:/usr/share/nginx/html \
-d nginx:latest

5. Nginx 配置文件结构

复制代码
main        # 全局配置
├── events  # 网络连接配置
├── http    # 主要功能配置
│   ├── upstream # 负载均衡
│   ├── server   # 虚拟主机
│   │   ├── location  # URI匹配
│   │    └── ...
└── ...

6. 常用管理命令

bash 复制代码
# 查看容器状态
docker ps

# 查看日志
docker logs nginx

# 进入容器
docker exec -it nginx bash

# 重启容器
docker restart nginx

7. 最佳实践

  1. 使用docker-compose管理
  2. 定期备份配置文件
  3. 指定镜像版本
  4. 添加健康检查

The end.

相关推荐
lichenyang45311 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang45311 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang45311 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang45311 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程