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.

相关推荐
桌面运维家3 小时前
Nginx+Keepalived:Linux高可用负载均衡配置实战
linux·nginx·负载均衡
lbb 小魔仙3 小时前
Portainer 实战:可视化管理 Docker并实现外网访问
运维·docker·容器
Carsene3 小时前
Docsify + Nginx 部署指南:解决 404 路由与 Markdown 加载失败问题
nginx
小陈工3 小时前
Docker容器化部署Python应用——从开发到生产的全流程
运维·开发语言·python·docker·云原生·容器·数据挖掘
灰阳阳4 小时前
Docker实践-阿里云上创建私有仓库
阿里云·docker·容器
xcLeigh4 小时前
告别 Excel 繁琐操作!Metabase让数据可视化触手可及
mysql·docker·信息可视化·excel·数据可视化·metabase·cpolar
u0133945275 小时前
How to Run sample.war in a Tomcat Docker Container
java·docker·tomcat
风向决定发型丶5 小时前
K8S readinessGates详解
云原生·容器·kubernetes
ai产品老杨5 小时前
破局算力碎片化:基于K8s调度与Docker多架构镜像的GB28181/RTSP异构AI视频底座实践
docker·架构·kubernetes
雪碧聊技术5 小时前
前端项目部署到服务器
服务器·nginx·ubuntu·前端项目部署