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.

相关推荐
2501_9418814016 小时前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬17 小时前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge17 小时前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
贝锐17 小时前
Docker部署Teemii本地漫画库,并通过花生壳内网穿透实现远程访问
docker
阿星智力囊20 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6
观测云20 小时前
Kubernetes CRD 方式配置容器日志采集最佳实践
容器·kubernetes·日志分析
i***220721 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
羑悻的小杀马特1 天前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
L***86531 天前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
z***56561 天前
Nginx实现接口复制
运维·nginx·junit