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

Docker挂载配置文件方式运行Nginx

本文以centos7系统为例,演示Docker挂载配置文件的方式运行Nginx

如何在linux系统上安装Docker,详见 https://blog.csdn.net/qq_35148205/article/details/144915388

首先安装nginx

docker pull nginx  # 下载最新版本docker pull nginx:1.24.0 #跟上版本号,下载指定版本

运行镜像,生成容器 (以最新版的nginx镜像为例)

docker run -d --name mynginx -p 80:80 nginx

在宿主机上创建文件目录(宿主机就理解为我们的linux操作系统)

在指定路径下创建conf, html, log文件夹
在这里插入图片描述

将容器中的nginx.conf文件夹中的内容复制到宿主机

docker cp mynginx:/etc/nginx/nginx.conf /你的文件目录/conf/
例:
docker cp mynginx:/etc/nginx/nginx.conf /usr/local/docker_config/conf/

将容器中的html文件夹中的内容复制到宿主机

docker cp mynginx:/usr/share/nginx/html /你的文件目录/
例:
docker cp mynginx:/usr/share/nginx/html /usr/local/docker_config/

修改nginx.conf内容:

根据自己的项目需求,修改nginx.conf内容。参考配置文件信息:

# user nginx;

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }


        location /prod-api/ {             
            proxy_read_timeout 200s;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header    REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass   http://宿主机ip:端口/;    
        }       

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

在这里插入图片描述

删除刚才运行的nginx容器

docker ps -a # 列出所有的容器

docker rm -f xxxId # 根据指定的CONTAINER ID 删除指定的容器 

在这里插入图片描述
最后,通过挂载自定义配置文件的方式,运行Nginx

docker run  \
-p 80:80 \
--name mynginx \
-v /你的文件目录/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /你的文件目录/log:/var/log/nginx \
-v /你的文件目录/html:/usr/share/nginx/html \
-d nginx

例

docker run  \
-p 80:80 \
--name mynginx \
-v /usr/local/docker_nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/docker_nginx/log:/var/log/nginx \
-v /usr/local/docker_nginx/html:/usr/share/nginx/html \
-d nginx

http://www.kler.cn/a/500514.html

相关文章:

  • 百度视频搜索架构演进
  • [创业之路-242]:《华为双向指挥系统》-1-组织再造-企业普遍采用的5种组织结构形式
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • TypeScript 爬虫项目实战:抓取豆瓣电影 Top 250(TypeScript简单应用)
  • [石榴翻译] 维吾尔语音识别 + TTS语音合成
  • 【xLua】xLua-master签名、加密Lua文件
  • 【MySQL】SQL菜鸟教程(二)
  • 探索 Oracle 数据库:核心概念与实践指南
  • Spring Boot开发——结合Redis实现接口防止重复提交
  • 计算机网络之---TCP报文段
  • Spring Boot微服务中进行数据库连接池的优化?
  • java 如何判断两个List<String>集合是否存在交集
  • 机器学习数据预处理preprocessing
  • Redisson和可重入锁初认
  • Level DB --- filter_block
  • screenpipe - 全天候录制屏幕的 AI 助手
  • DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议
  • Flink系统知识讲解之:Flink内存管理详解
  • 【STM32-学习笔记-1-】GPIO
  • CSS响应式
  • spring boot 集成 knife4j
  • 2024年有哪些人工智能书籍推荐?
  • Facebook 隐私变革之路:回顾与展望
  • 04:同步与互斥
  • 【教程】Unity 本地化多语种 | Localization 工具组
  • 【PDF转Word】 PDF在线转word文档 好用!优质网站资源推荐