如何为官方 nginx Docker 镜像使用自定义 Nginx 配置?

2023-12-21

我有下一个docker-compose file:

nginx:
    build: .
    ports:
        - "80:80"
        - "443:443"
    links:
        - fpm
fpm:
    image: php:fpm
    ports:
        - "9000:9000"

The Dockerfile命令列表是:

FROM nginx

ADD ./index.php /usr/share/nginx/html/

# Change Nginx config here...

Nginx 服务器工作正常,我可以看到默认的 html 页面http://localhost/index.html,但不执行 PHP 脚本。所以当我得到http://localhost/index.php- 浏览器下载 PHP 文件而不是执行它们。

在我的情况下,如何使用自定义 Nginx 配置来执行 PHP 脚本?


您可以创建一个非常简单的docker包含自定义 nginx 配置的映像,并将该卷安装到使用原始 nginx 映像的容器中。

只需遵循几个步骤即可。

1. 创建自定义 nginx 配置映像项目

mkdir -p nginxcustom/conf
cd nginxcustom
touch Dockerfile
touch conf/custom.conf

2. 修改Dockerfile

这是文件内容:

FROM progrium/busybox
ADD conf/ /etc/nginx/sites-enabled/
VOLUME /etc/nginx/sites-enabled/

3. 构建新形象

docker build -t nginxcustomconf .

4.修改你的docker-compose.yml file

nginxcustomconf:
  image: nginxcustomconf
  command: true

nginxcustom:
  image: nginx
  hostname: nginxcustom
  ports:
    - "80:80"
    - "443:443"
  volumes_from:
    - nginxcustomconf

例子conf/custom.conf可能看起来像这样:

server {
  listen 82;
  server_name ${HOSTNAME};

  set $cadvisor cadvisor.docker;

  location / {
    proxy_pass              http://$cadvisor:8080;
    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_connect_timeout   150;
    proxy_send_timeout      100;
    proxy_read_timeout      100;
    proxy_buffers           16 64k;
    proxy_busy_buffers_size 64k;
    client_max_body_size    256k;
    client_body_buffer_size 128k;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为官方 nginx Docker 镜像使用自定义 Nginx 配置? 的相关文章

随机推荐

  • 在 C 中操作 80 位数据类型

    我正在用 C 实现一些加密算法 其中涉及 80 位密钥 特定操作涉及将密钥旋转移位 x 个位数 我已经尝试过 long double 类型 如果我没记错的话 它是 80 位 但这不适用于位移运算符 我能想到的唯一替代方案是使用 10 个元素
  • 如何获取 4 个不同值的 ID(2 个键的组合)

    我得到如下表 mysql gt select from tb dts Id key1 key2 1 1 1 2 1 1 3 1 1 4 2 1 5 2 1 6 2 1 7 2 1 8 1 2 9 1 2 10 1 2 11 1 2 12 1
  • 如何解决java.lang.NoClassDefFoundError?硒

    为什么这段代码不起作用 import org junit import org openqa selenium WebDriver import org openqa selenium firefox FirefoxDriver publi
  • 从目录读取多个文件,R

    我在代码中读取文本文件文件夹并将其转换为 dtm 时遇到困难 问题是 由于某种原因 我的计算机只能间歇性地与目录中的文本文件建立连接 返回的错误是 Error in file con r cannot open the connection
  • C# 重复事件(如日历)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在尝试设计对重复事件的支持 就像您在 Outlook 或任务管理器等中看到的那样 我在 Googl
  • 检测ListView中的TextView是否椭圆

    我有一个自定义适配器 可以在 ListView 中呈现一些项目 如果项目的文本是椭圆形的 我需要在 ListView 的项目上显示一个图标 如果有足够的空间供文本完成 则需要隐藏它 我可以访问适配器的 getView 方法中的按钮 我在其中
  • 布局 xml 中的 Magento 条件块

    如果 isset get param x that x phtml else y phtml 这是不可能的还是在布局 xml 文件写入条件下 我看到在动作控制器中解决了这个问题 但我覆盖了其他模块中的操作 而且我认为 xml 更好 实际上
  • Swift - UITableView 设置分隔符样式

    如何在 Swift 中设置 UITableView 的分隔符样式 我想去掉分隔符 以便表格视图中的单元格之间没有灰线 任何建议将不胜感激 以下是我已经尝试过的 我在objective C中找到了这个方法 self tableView set
  • NetBeans 可以自动构建 Java 自由格式 (Ant) 项目吗?

    每次保存后 我需要在项目浏览器中右键单击该项目 然后单击build 有没有办法将 NetBeans 配置为在保存文件时自动构建项目 请参阅保存时编译常见问题解答 http wiki netbeans org FaqCompileOnSave
  • Azure AD 应用程序通过 Powershell 添加密钥

    我正在尝试使用 PowerShell 在我的 Azure AD 应用程序中添加密钥 不幸的是 我首先尝试使用 Azure CLI 但经过一些研究和一些 stackoverflow 答案后 我发现这是无法完成的 我正在尝试通过 Powersh
  • java.util.Date 克隆或复制以不公开内部引用

    最佳实践是不要公开对象 实体 的内部引用 所以如果一个对象有一个类型的字段java util Date例如 该字段的 getter 应该返回的不是原始日期 而是它的副本 但对于 java util Date 有两种常见的方法来创建该副本 c
  • HTML5 + CSS3 100% 高度带边距

    给定以下 HTML 布局
  • 列表中的重复元素[重复]

    这个问题在这里已经有答案了 我有一个list在Python中 l a c e b 我想将每个元素复制到紧邻原始元素的位置 ll a a c c e e b b 应保留元素的顺序 gt gt gt l a c e b gt gt gt x f
  • 无法再发送推文:插件 com.apple.share.Twitter.post 无效

    我的应用程序使用 SLComposeViewController 发布到 Twitter 这种方法持续了几个月 然后在大约一周前突然停止了 Twitter 共享视图允许我按 发布 并且以下代码仍然到达 行 twitterComposeVie
  • 发布到 Azure 时未加载捆绑的 CSS

    从 Microsoft 提供的默认 ASP Net Web 表单模板开始 我添加了几个 CSS 文件 将其捆绑并将其添加到 Site Master 事情在本地可以工作 但在 Azure 上发布时就不行了 基于这些链接 link 1 http
  • OSX 中的侧边栏图标图像名称

    该图标是否包含在 Cocoa API 中 图标名称是什么 我读了 HIGH 但找不到参考资料 https developer apple com library mac documentation UserExperience Concep
  • 为什么我无法在 Silverlight 4 中绑定 DataGridTemplateColumn 的可见性?

    似乎仍然无法在 Silverlight 4 中绑定 DataGridTemplateColumn 的可见性属性 我做了一些谷歌搜索 似乎有一些帖子建议这样做事实上它不是 DependencyObject http forums silver
  • SwiftUI 中的免费可扩展列表有什么要求?

    在我的代码中的某个地方 我有一个非常标准的列表 其中包含以下部分 var body some View List ForEach userData groupedBookings group in Section header Text g
  • QRegExpValidator 与 QTextEdit

    QRegExpValidator 可以与 QTextEdit 小部件一起使用吗 我尝试通过 setValidator 实现 并将 qtextedit 设置为父对象 但它不起作用 你应该使用virtual QValidator State Q
  • 如何为官方 nginx Docker 镜像使用自定义 Nginx 配置?

    我有下一个docker compose file nginx build ports 80 80 443 443 links fpm fpm image php fpm ports 9000 9000 The Dockerfile命令列表是