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.

相关推荐
hay_lee31 分钟前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes
晚风吹长发44 分钟前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
ShiXZ2131 小时前
Docker Compose 安装与配置指南
运维·docker·容器
BullSmall2 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器
chexus3 小时前
21. 深入 Nginx HTTP 缓存源码:CDN功能
nginx·http·缓存
java_logo6 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!18 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo19 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客19 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
祁白_19 小时前
Ubuntu_Docker_零基础搭建与基础使用笔记
笔记·ubuntu·docker