使用泊坞窗组成
问题描述:
通常在nginx的编译第三部分模块安装nginx的动态模块,你应该使用这个命令:使用泊坞窗组成
./configure --add--module=path/to/your/new/module/directory
然后使用:
make
最后:
make install
但使用码头我不能进入nginx路径并运行这些命令。我怎样才能将“配置”命令添加到我的docker-compose.yml文件中?
编辑: 我试图创建一个简单的Dockerfile这样的:
FROM nginx
RUN ./configure --add-module=./module/
make && \
make install
而且包括它变成我的搬运工,compose.yml。
它给了我这个错误:
/bin/sh: 1: ./configure: not found The command '/bin/sh -c ./configure --add-module=./module/' returned a non-zero code: 127
我也试过,而不是使用“的./configure”,“配置”,但同样的结果。我不知道如何设置配置命令。
答
我不知道我理解正确的问题,但我认为configure
,make
和make install
应该为docker build
部分使用RUN
指令(在你的Dockerfile
)来完成。 docker-compose
只会运行最终的图像(可能与其他码头图像串联)。
样品Dockerfile(未验证,可能含有错误!):
FROM centos:latest
COPY nginx /root/nginx
WORKDIR /root/nginx
RUN ./configure && make && make install
是的,你明白我的问题。你是对的,我应该为我的目的使用dockerfile,然后使用docker-compose仅用于组合不同的图像。 我已经用你的建议更新了我的问题,但仍然没有解决我的问题。 – MaP
'FROM nginx'将从一个已经安装'nginx'的基础图像开始。它可能没有具有'configure'脚本和'Makefile'的nginx源代码。最好的方法是从CentOS或Ubuntu或某些此类操作系统映像开始,将nginx源代码复制/下载到其中,然后运行这些命令。 – Amit
你已经写出了正确的方法: 首先,我从官方操作系统映像开始:FROM ubuntu:latest。 然后我下载并提取了nginx的二进制文件。 然后,在编译之前,我在“./configure”命令中添加了我的模块。 它的工作。谢谢! – MaP