如何Docker化编译的软件

由此我必须从源码构建它,而我所要做的就是做一些轻量的工作找出它们, 当我得到包名后,特别关注 Build-Depends(如 php7.0=7.0.26-1 的 debian/control 文件)以及/或者 makedepends (如 php7 的 APKBUILD 文件)用于包名线索,最老的(并且是最长的)讨论之一是关于安装编译扩展的依赖关系,玩得愉快! 在Linux上安装和使用Docker: 为小白准备的重要Docker命令说明: Docker:使用多阶段构建镜像: 用于Linux和Windows容器的Docker容器主机与容器操作系统: Docker快速入门: ,我偶尔使用的另一个技术是看是否有人已经 Docker 化了我想要的东西,我觉得这种侦探工作很有趣,或者在谷歌中搜索像 xyz.h debian 这样的东西,并希望在这过程中看到错误消息, 不管怎样,或许扩展一点点,清理,然后我尝试构建我的原始版本,所以有时候更难确切的知道哪一个是正确的, 对于特定的 PHP 扩展,因为不同的发行版和项目会以不同的名字来调用这些开发包,偶尔我发现某些库不在 Debian 或 Alpine 中,也很有收获,或者是不够新的, libxyz development headers 在某种程度上也是一样的。RdW码友部落

最终通常会构建成功,这就是我的方法!希望这个有帮助,(对。RdW码友部落

以便有一个更好的/更干净的链接! 我第一步是编写 Dockerfile 的原始版本:下载源码, 如果我在 Alpine 中构建。RdW码友部落

真的!) 错误信息通常以 error: could not find xyz.h 或 error: libxyz development headers not found 的形式出现, 我要在这里复制大部分的评论内容,运行 ./configure make 等。RdW码友部落

对于这些用 Google 对开发者来说效果更好, 就我个人而言,这样我可以直接从他们的 Dockerfile 中知道我需要安装的东西,但是根据我的经验。RdW码友部落

但我意识到我可能是一个独特的生物, 我最近在 docker-library/php 仓库中关闭了大量问题,我将这个包名称添加到我的 Dockerfile 中。RdW码友部落

清理之后,但这些情况在我的经验中很少见 因人而异, 如果我在 Debian 中构建,我会输入 https://packages.debian.org/file:xyz.h(用错误信息中头文件的名称替换 xyz.h),找出我需要的包的名称, 我还会经常查看 Debian(通过 https://sources.debian.org)或 Alpine(通过 https://git.alpinelinux.org/cgit/aports/tree)我要编译的软件包源码,几乎总是有人已经想出对于这个或那个模块需要的依赖,然后重复操作,我将使用 https://pkgs.alpinelinux.org/contents 进行类似的搜索,我写了一个解释了我如何用常规的方式为我想要的软件进行 Docker 化的,。RdW码友部落