docker中nginx的默认路径位置和映射目录启动方式例子解析

在这里插入图片描述
在Docker中部署Nginx时,默认的路径位置和映射目录的启动方式如下:

  1. 默认路径

    • Nginx的配置文件通常位于 /etc/nginx/nginx.conf
    • HTML文件默认位置是 /usr/share/nginx/html
    • 日志文件默认位置是 /var/log/nginx
  2. 映射目录启动方式

    • 首先,你可以启动一个临时容器来获取默认的配置文件和HTML文件:
      docker run --name tmp-nginx-container -d nginx
      
    • 然后,创建本地目录并拷贝临时容器中的默认文件到本地路径:
      mkdir -p /docker/nginx/
      docker cp tmp-nginx-container:/etc/nginx/nginx.conf /docker/nginx/nginx.conf
      docker cp -a tmp-nginx-container:/usr/share/nginx/html /docker/nginx
      docker cp -a tmp-nginx-container:/etc/nginx/conf.d /docker/nginx
      
    • 删除临时容器:
      docker rm -f tmp-nginx-container
      
    • 重新映射容器并启动:
      docker run --name mynginx -e TZ="Asia/Shanghai" -d -p 80:80 -v /docker/nginx/html:/usr/share/nginx/html -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/conf.d:/etc/nginx/conf.d -v /docker/nginx/logs:/var/log/nginx nginx
      
      这个命令会将本地的配置文件、HTML文件和日志目录映射到容器内的相应位置,并启动Nginx服务 。
  3. 自定义配置文件

    • 如果你需要使用自定义的Nginx配置文件,可以创建一个Dockerfile:
      FROM nginx
      COPY ./my_nginx.conf /etc/nginx/conf.d/default.conf
      
    • 构建镜像:
      docker build -t my-nginx .
      
    • 运行容器:
      docker run --name my-running-nginx -d -p 80:80 my-nginx
      
      这样,你就可以使用自定义的Nginx配置了 。
  4. HTTPS配置

    • 要配置HTTPS,你需要SSL证书。以下是一个使用自签名证书的示例配置:
      server {
        listen 443 ssl;
        server_name example.com www.example.com;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        location / {
          root /usr/share/nginx/html;
          index index.html index.htm;
        }
      }
      
      你需要将SSL证书和密钥文件放置在容器可以访问的路径中,并且确保在启动容器时挂载这些文件 。
  5. 负载均衡配置

    • Nginx可以作为反向代理服务器,实现负载均衡:
      upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
      }
      server {
        listen 80;
        location / {
          proxy_pass http://backend;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
        }
      }
      
      这将配置Nginx将请求代理到定义的后端服务器组 。

确保在实际部署时,根据你的具体需求调整配置。

喜欢本文,请点赞、收藏和关注!

### Docker Compose 使用指南 #### 一、简介 Docker Compose 是定义运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用程序的服务,然后使用 `docker-compose` 一条指令即可创建并启动所有服务。 #### 二、安装方法 对于 Linux 用户来说,在线安装是一个便捷的选择。可以通过如下命令完成安装: ```bash sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 这将会把最新的 Docker Compose 版本下载下来,并放置于系统的可执行路径下[^3]。 #### 三、基本概念与语法结构 在编写 `docker-compose.yml` 文件时,可以利用多个关键字来自定义应用环境。以下是几个常用的关键字及其作用说明: - **build**: 指定 Dockerfile 所在文件夹的相对路径;Compose 将基于此构建镜像。 - **image**: 如果不想自行编译,则可以直接指定已有的镜像名称。 - **ports**: 实现宿主机端口向容器内部开放映射的功能。 - **volumes**: 支持挂载本地目录至容器内作为数据卷,便于实现数据持久化存储或跨容器间的数据交换。 - **networks**: 设定容器所属虚拟网络,方便不同服务间的通信交互。 - **environment**: 向容器传递必要的环境变量设置。 - **command**: 修改容器启动后的默认行为,即覆盖原有 ENTRYPOINT 或 CMD 的设定。 - **depends_on**: 表达各微服务组件之间存在先后次序上的依赖关系,保证按需加载资源[^4]。 #### 四、操作实例 假设有一个简单的 Web 应用场景,其中包含前端 Nginx 后端 Flask API Server 两个部分。那么对应的 `docker-compose.yml` 可能看起来像是这样: ```yaml version: '3' services: web: build: ./nginx ports: - "8080:80" depends_on: - api api: image: my_flask_api_image environment: FLASK_ENV: production volumes: - type: bind source: ./app/static target: /var/www/html/static ``` 上述例子中,先按照给定路径下的 Dockerfile 构建名为 `web` 的 Nginx 服务器实例,并将其监听的 HTTP 请求转发到外部机器的 8080 端口上;与此同时还指定了该实例必须等待另一个叫作 `api` 的 Python 微服务完全准备好之后才能真正对外提供访问接口。而后者则是直接拉取远程仓库中的预置镜像进行初始化工作,并允许开发者自定义一些重要的参数选项以便更好地适应实际生产需求。 #### 五、常见命令解析 当一切准备就绪以后就可以借助下面这些常用的子命令来进行日常管理维护了: - **config**: 对当前项目的配置做一次全面校验,确保其合法性完整性。 ```shell docker-compose config ``` - **up**: 启动项目内的全部服务单元,默认情况下会在前台阻塞直到收到终止信号才会退出进程。如果希望后台持续运行的话只需加上 `-d` 参数即可。 ```shell docker-compose up [-d] ``` - **down**: 关闭由本次会话所控制的一切活动着的任务实体,并清理掉它们占用的相关计算资源(比如停止容器、删除临时生成的对象等)。 ```shell docker-compose down ``` 更多高级特性以及详细的官方文档可以在参考资料里进一步查阅了解[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔丹搞IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值