使用泊坞窗组成

问题描述:

通常在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”,“配置”,但同样的结果。我不知道如何设置配置命令。

我不知道我理解正确的问题,但我认为configuremakemake install应该为docker build部分使用RUN指令(在你的Dockerfile)来完成。 docker-compose只会运行最终的图像(可能与其他码头图像串联)。

样品Dockerfile(未验证,可能含有错误!):

FROM centos:latest 
COPY nginx /root/nginx 
WORKDIR /root/nginx 
RUN ./configure && make && make install 
+0

是的,你明白我的问题。你是对的,我应该为我的目的使用dockerfile,然后使用docker-compose仅用于组合不同的图像。 我已经用你的建议更新了我的问题,但仍然没有解决我的问题。 – MaP

+2

'FROM nginx'将从一个已经安装'nginx'的基础图像开始。它可能没有具有'configure'脚本和'Makefile'的nginx源代码。最好的方法是从CentOS或Ubuntu或某些此类操作系统映像开始,将nginx源代码复制/下载到其中,然后运行这些命令。 – Amit

+0

你已经写出了正确的方法: 首先,我从官方操作系统映像开始:FROM ubuntu:latest。 然后我下载并提取了nginx的二进制文件。 然后,在编译之前,我在“./configure”命令中添加了我的模块。 它的工作。谢谢! – MaP