首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker镜像中的Heroku Buildpacks

Docker镜像中的Heroku Buildpacks
EN

Stack Overflow用户
提问于 2020-12-23 07:28:59
回答 1查看 331关注 0票数 1

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

代码语言:javascript
运行
复制
FROM node:14-alpine
WORKDIR /app
COPY ./ncc/web ./
CMD node ./index.js

问题是,在运行node时,我也想使用Jemalloc来更好地管理内存。我过去在使用普通的node dynos (不是docker图像)时使用过这个Jemalloc构建包,它工作得很好:

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

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2020-12-23 08:05:07

我想Cloud Native Buildpacks就是你所需要的。Cloud Native Buildpack生成Docker图像作为输出,这意味着您甚至不需要Dockerfile

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

代码语言:javascript
运行
复制
https://buildpack-registry.heroku.com/cnb/gaffneyc/jemalloc

总而言之,安装了Pack CLI后,您应该能够运行:

代码语言:javascript
运行
复制
$ pack build --builder heroku/buildpacks:18 --buildpack heroku/nodejs,https://buildpack-registry.heroku.com/cnb/gaffneyc/jemalloc my app
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65417162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档