Repository navigation
Conversation
|
One option is to only use |
| ' \ | ||
| && runtimeDeps=' \ | ||
| libjemalloc-dev | ||
| ' \ |
There was a problem hiding this comment.
I had to add it as a separate set of dependencies, because buildDeps get purged after the build is finished.
|
Is there a particular reason not to do this with alpine as well? |
|
@ianks not particularly. I'll give at shot at building alpine images. |
|
@ianks I just tried to compile Alpine with It seems like we are out of luck for the time being for Alpine+jemalloc. |
|
This is weird because as far as I know Redis uses jemalloc and there is a redis:alpine Docker image :/ |
|
@n-rodriguez It seems like this has to do with how Ruby and Redis handle the pointer returned by getcwd differently:
|
|
@marcotc thanks for the answer! |
| && rm -r /root/.gem/ | ||
|
|
||
| # TODO remove me before merging | ||
| RUN ruby -r rbconfig -e "RbConfig::CONFIG['LIBS'].include?('jemalloc') ? puts('Ruby is compiled with jemalloc') : warn('JEMALLOC IS MISSING FROM RUBY')" |
There was a problem hiding this comment.
maybe nice to leave this as a sanity check with RUN ruby -r rbconfig -e "abort 'jemalloc not enabled' unless RbConfig::CONFIG['LIBS'].include?('jemalloc')"
|
Thanks for working on this @marcotc, we're currently "patching" jemalloc support off the official Docker library using some custom scripts so this is a huge help by getting it official. |
|
There is no issues in https://github.com/hoteltonight/ruby so may be I can comment here As I understood this is published in Docker Hub as https://hub.docker.com/r/hoteltonight/ruby-jemalloc/ - is it possible to make relations between docker hub, github repo, etc. more transparent? |
|
I don't understand the issues that are going on, but it would be awesome to have jmalloc support built-in to our Ruby containers. Is this stalled? |
|
I think we were still uncertain whether this is the recommended or endorsed way to build ruby according to ruby upstream. We try to keep the images as close to upstream release recommendations as possible. See also #192 (comment). |
|
Would a PR with a new separate set of debian images using jemalloc be acceptable? |
|
Also, would it be possible to specify an environment variable when building? There seems to be a |
|
Jemalloc is not "sticking" to Ruby 2.6rc as it does with older versions. Step 11/17 : RUN ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"
---> Running in e0dc1e0e4115
-lmStill investigating this. |
|
Now we have this scenario: I'm wondering if we should just publish a separate set of images with the prefix |
|
I wholeheartedly agree, and recommend that such work happen in a separate repo/image until Ruby upstream decides |
|
Just to clarify @tianon, are you saying |
|
I'm saying the docker-library team would prefer to not maintain them
unless/until they're officially recommended and supported by Ruby upstream.
I do see value in them existing, and recommend that someone create and
maintain them elsewhere, which will serve to help make them easier for
folks to consume and test, which will hopefully help convince upstream that
jemalloc is something they can rely on and should officially support or
even recommend outright.
Hopefully that helps clarify our position (and our hesitance to do anything
further with this PR at this time).
|
|
I totally understand @tianon, thanks for clarifying. |
|
Is there a forked image I can use? or are we not there yet? |
|
Here in my company we have been using this fork from Hotel Tonight in production for a few months and it works great. We use |
|
@ashleyhull-versent I used hoteltonight image for some time but it is much easier to build your own based on official docker image, just take a look at 2-3 changes in Dockerfile and go ahead |
|
Does anybody know who's actually at fault with this? Is there a ticket upstream with Ruby or Alpine? |
|
Closing PR until a recommendation from Ruby upstream. Discussion can continue on #182. See also #182 (comment) |
Third time is the charm!
I had this PR open for a few weeks and realized there's work being done around
jemalloc.Should we add jemalloc only for Debian? If so, I'll just move my logic to thetemplatefile.This PR adds
jemallocall Linux images:debianandslim.I tried to make it generic, but I'm not sure we need this level of complexity here.fixes #182, closes #190