当前位置: 首页 > news >正文

Docker 中启动 Nginx 容器

文章目录

      • 1. 快速运行 Nginx 容器
        • 从 Docker Hub 拉取官方镜像并运行:
        • 验证访问:
      • 2. 挂载自定义配置和静态文件
        • 步骤:
      • 3. 常用操作命令
      • 4. 生产环境建议
        • 使用 Docker Compose
        • 关键优化:
      • 5. 调试技巧
      • 6. 常见问题解决

1. 快速运行 Nginx 容器

从 Docker Hub 拉取官方镜像并运行:
# 拉取最新版 Nginx 镜像
docker pull nginx
# 运行临时容器(测试用,退出后删除)
docker run --rm -d -p 8080:80 --name my-nginx nginx
  • 参数说明:
    • -p 8080:80:将宿主机的 8080 端口映射到容器的 80 端口。
    • --name my-nginx:为容器指定名称。
    • --rm:容器停止后自动删除(测试时常用)。
验证访问:

打开浏览器访问 http://xxxxxxx:8080,看到 Nginx 欢迎页即成功。

通过 ip a,查看 ip 地址:

在这里插入图片描述

2. 挂载自定义配置和静态文件

步骤:
  1. 创建本地目录存放配置和网页文件:
    # 递归生成多个子目录:conf 和 html
    mkdir -p ~/nginx-demo/{conf,html}
    
  2. 生成默认配置(可选):
    docker run --rm nginx cat /etc/nginx/nginx.conf > ~/nginx-demo/conf/nginx.conf
    docker run --rm nginx cat /etc/nginx/mime.types > ~/nginx-demo/conf/mime.types
    
  3. 添加自定义配置
    echo "server {listen 80;root /usr/share/nginx/html;location / {index index.html;}
    }" > ~/nginx-demo/conf/default.conf
    
  4. 创建测试页面
    echo "<h1>Hello Docker Nginx!</h1>" > ~/nginx-demo/html/index.html
    
  5. 运行容器并挂载目录
    docker run -d -p 8080:80 \-v ~/nginx-demo/html:/usr/share/nginx/html \-v ~/nginx-demo/conf:/etc/nginx--name my-nginx nginx
    

3. 常用操作命令

操作命令
查看容器日志docker logs my-nginx
进入容器终端docker exec -it my-nginx /bin/bash
停止容器docker stop my-nginx
重启容器docker restart my-nginx
删除容器docker rm -f my-nginx
查看运行中的容器docker ps

4. 生产环境建议

使用 Docker Compose

创建 docker-compose.yml 文件:

version: '3'
services:nginx:image: nginx:latestports:- "80:80"- "443:443"volumes:- ./html:/usr/share/nginx/html- ./conf:/etc/nginx/conf.d- ./logs:/var/log/nginxrestart: always

运行:

docker-compose up -d
关键优化:
  1. 版本固定:使用 nginx:1.25-alpine 等具体版本标签,避免更新冲突。
  2. 资源限制
    deploy:resources:limits:cpus: '0.5'memory: 512M
    
  3. 网络配置:自定义网络提升安全性:
    docker network create nginx-net
    docker run -d --network=nginx-net nginx
    

5. 调试技巧

  • 检查配置语法
    docker exec my-nginx nginx -t
    
  • 热重载配置(不重启容器):
    docker exec my-nginx nginx -s reload
    
  • 查看默认配置路径
    docker exec my-nginx ls /etc/nginx/conf.d
    

6. 常见问题解决

  • 权限问题
    若挂载文件报错,尝试添加 :ro(只读)或调整宿主机文件权限:
    chmod -R 755 ~/nginx-demo
    
  • 端口冲突
    修改宿主机端口映射(如 -p 8081:80)。
  • 缓存问题
    强制更新镜像:
    docker pull nginx:latest
    

http://www.mrgr.cn/news/98636.html

相关文章:

  • 宇瞳杯视讯镜头完成版(除公差/鬼像分析)
  • helm的go模板语法学习
  • 【星海随笔】Python-JSON数据的处理
  • GKI 介绍
  • Elasticsearch 查询排序报错总结
  • 一次现网问题定位-慢接口告警
  • Go:包和 go 工具
  • Linux:Makefile
  • Kubernetes 节点摘除指南
  • C#: 用Libreoffice实现Word文件转PDF
  • 七、Linux基础day02--Linux命令02
  • chapter32_SpringMVC与DispatcherServlet
  • 来个去照片背景的GUI程序
  • 毛笔书体检测-hog+svm python opencv源码
  • Linux上位机开发实践(SoC和MCU的差异)
  • Information-Theoretic Limits of Bistatic Integrated Sensing and Communication
  • BTS7960 直流电机控制程序
  • SAP ECCS 标准报表 切换为EXCEL电子表格模式
  • 构建大模型知识库(一)
  • 【c++深入系列】:new和delete运算符详解