herozzm
V2EX  ›  Docker

docker 的 nginx 怎么编译增加模块?

  •  1
     
  •   herozzm · May 24, 2020 · 6529 views
    This topic created in 2186 days ago, the information mentioned may be changed or developed.

    需要增加一个直播模块nginx-rtmp-module, docker 容器中当初源码也没有,重新下了一个源码进去编译,在容器中重新./configure 提示 error: C compiler cc is not found,感觉缺少的不仅是 c,应该还有其他东西,你们是怎么弄的?

    Supplement 1  ·  May 24, 2020
    解决了,经过大神指点,在宿主编译好需要模块,参数和容器的 nginx 一直,再加上 add-module=新增模块路径
    然后将编译后的 nginx 二进制文件 cp 到容器内,`ldd /tmp/nginx` 对比宿主的 so 文件看,缺什么就拷贝到容器内,能跑起来
    11 replies    2020-07-06 09:10:38 +08:00
    herozzm
        1
    herozzm  
    OP
       May 24, 2020
    运维的朋友 来帮帮忙
    wangyanrui
        2
    wangyanrui  
       May 24, 2020
    自己打一个镜像呀~
    herozzm
        3
    herozzm  
    OP
       May 24, 2020 via Android
    @wangyanrui #2 原来的容器已经配置好了很多东西,我需要的是是在原容器上 add modules
    chinvo
        4
    chinvo  
       May 24, 2020
    你编译出来的模块, 也不能像 apache / php 的扩展那样作为独立组建载入到预编译的 nginx 里面

    所以最优解决方案是自己打一个镜像, 然后把原镜像里的设置复制过来

    你们别是在容器内改配置...
    herozzm
        5
    herozzm  
    OP
       May 25, 2020
    @wangyanrui @chinvo 意思是用`apline`或`centos`打底做系统,在上面编译好 nginx,然后整体打包镜像吗?这样子的镜像会远远大于 nginx 原本的镜像吧?
    endoffight
        6
    endoffight  
       May 25, 2020 via Android
    多阶段编译,只能帮到这儿了
    mouyong
        7
    mouyong  
       May 25, 2020
    https://blog.iwnweb.com/nginx/nginx-add-module/ 本篇实践于 docker 中,你可以参考这个尝试,并将步骤写成 dockerfile,就添加好了你的模块的 nginx
    chotow
        8
    chotow  
       May 25, 2020
    本来想贴个 Dockerfile 的案例给你看,但 v2 警告我不许放短网址 🙃——回复不支持 Markdown 。
    JaminT
        9
    JaminT  
       May 25, 2020
    虽然我没遇到过 但是想知道答案
    julyclyde
        10
    julyclyde  
       May 25, 2020   ❤️ 1
    如果去掉 docker 这个前提,你会发现一切都很容易了
    594duck
        11
    594duck  
       Jul 6, 2020
    @julyclyde 老哥思路清爽
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5545 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 03:07 · PVG 11:07 · LAX 20:07 · JFK 23:07
    ♥ Do have faith in what you're doing.