Heroku Buildpacks in Docker Images



我构建了自己的docker映像,并在Heroku上运行它们。这非常有效,下面是一个Docker文件示例:

FROM node:14-alpine
WORKDIR /app
COPY ./ncc/web ./
CMD node ./index.js

问题是,在运行node时,我还想使用Jemalloc来更好地管理内存。我在过去使用普通节点dynos(而不是docker镜像(时使用过这个Jemalloc构建包,它非常有效:

https://github.com/gaffneyc/heroku-buildpack-jemalloc

如果我理解正确,但是构建包和docker镜像不兼容?所以这个构建包不会自动从我的图像中获得吗?

有没有办法让构建包在我的图像中运行?

如果没有,有人知道我如何在我的实例中安装和使用jemalloc吗?

我认为云原生构建包正是您所需要的。Cloud Native Buildpacks生成Docker映像作为输出,这意味着您甚至不需要Dockerfile

heroku/buildpacks:18CNB构建器映像包括heroku/nodejs构建包。但是您需要手动添加jemalloc构建包。由于jemalloc是一个老式的构建包(即不是Cloud Naitve(,您需要使用CNB填充程序。通过这种方式,您可以使用以下URL引用构建包:

https://buildpack-registry.heroku.com/cnb/gaffneyc/jemalloc

所有这些都说明了,并且安装了Pack CLI,您应该能够运行:

$ pack build --builder heroku/buildpacks:18 --buildpack heroku/nodejs,https://buildpack-registry.heroku.com/cnb/gaffneyc/jemalloc my app

相关内容

  • 没有找到相关文章

最新更新