使用Docker-Compose快速部署Nginx服务

前言

Nginx是一款高性能的Web服务器和反向代理工具,结合Docker Compose可以实现快速部署和配置管理。通过本教程可以学习到docker-compose.yml文件一键部署Nginx服务。


准备工作

  1. 确保已安装 Docker 和 Docker Compose:

    css 复制代码
    bashCopy Code
    # 检查版本(Docker 20.10+,Docker Compose 2.0+)
    docker --version
    docker-compose --version
  2. 创建项目目录:

    bash 复制代码
    mkdir nginx-docker && cd nginx-docker

配置 Docker Compose 文件

  1. 创建 docker-compose.yml

    bash 复制代码
    touch docker-compose.yml
  2. 编辑文件内容:

    yaml 复制代码
    version: '3.8'  # 使用兼容的 Compose 版本
    
    services:
      nginx:
        image: nginx:latest  # 使用官方最新镜像
        container_name: my-nginx  # 自定义容器名称
        restart: always  # 自动重启
        ports:
          - "80:80"     # 映射宿主机80端口到容器80端口
          - "443:443"   # 如需HTTPS可启用
        volumes:
          - ./html:/usr/share/nginx/html  # 挂载静态网站目录
          - ./nginx.conf:/etc/nginx/nginx.conf  # 挂载自定义配置文件
          - ./conf.d/:/etc/nginx/conf.d/  # 子配置目录挂载
          - ./logs:/var/log/nginx  # 挂载日志目录
        networks:
          - nginx-net  # 自定义网络(可选)
    
    networks:
      nginx-net:
        driver: bridge

启动 Nginx 服务

  1. 创建所需目录:

    arduino 复制代码
    mkdir html logs conf.d
  2. 启动容器(后台模式):

    复制代码
    docker-compose up -d
  3. 验证服务状态:

    shell 复制代码
    docker-compose ps -a
    # 或浏览器访问 http://localhost

自定义配置

1. 修改默认页面

html 目录中创建 index.html

bash 复制代码
echo "<h1>Hello Docker Nginx!</h1>" > html/index.html

2. 自定义 Nginx 配置

  1. 生成默认配置文件:

    bash 复制代码
    docker run --rm nginx cat /etc/nginx/nginx.conf > nginx.conf
  2. 修改 nginx.conf 后重启服务:

    css 复制代码
    bashCopy Code
    docker-compose restart nginx

常用命令

命令 说明
docker-compose logs -f 查看实时日志
docker-compose restart nginx 重启服务
docker-compose down 停止并删除容器
docker-compose exec nginx bash 进入容器终端

注意事项

  1. 端口冲突‌:确保宿主机 80/443 端口未被占用
  2. 配置文件权限‌:挂载的配置文件需具有正确权限
相关推荐
ん贤2 小时前
Go channel 深入解析
开发语言·后端·golang
changhong19865 小时前
如何在 Spring Boot 中配置数据库?
数据库·spring boot·后端
月月玩代码7 小时前
Actuator,Spring Boot应用监控与管理端点!
java·spring boot·后端
XPoet8 小时前
AI 编程工程化:Skill——给你的 AI 员工装上技能包
前端·后端·ai编程
码事漫谈9 小时前
从“功能实现”到“深度优化”:金仓数据库连接条件下推技术的演进之路
后端
码事漫谈9 小时前
数据库查询优化中的谓词下推策略与成本感知优化实践
后端
Amour恋空9 小时前
SpringBoot+Lombok+Logback实现日志
spring boot·后端·logback
廋到被风吹走9 小时前
【LangChain4j】特点功能及使用场景
后端·python·flask
毕设源码-邱学长10 小时前
【开题答辩全过程】以 基于Spring Boot的体育场地预约管理系统为例,包含答辩的问题和答案
java·spring boot·后端
青槿吖10 小时前
第二篇:告别XML臃肿配置!Spring注解式IOC/DI保姆级教程,从入门到真香
xml·java·开发语言·数据库·后端·sql·spring