[Container-tools] [node-devel] Community Node.js Builder Images

Joe Orton jorton at redhat.com
Fri Mar 17 15:27:03 UTC 2017


On Fri, Mar 17, 2017 at 02:52:03PM +0000, Lance Ball wrote:
> Thanks for the reply Ben. Adding everyone else back in...
> 
> I honestly don't mean to be obtuse here, but I'm still a little confused.
> Please bear with me and a couple more questions.

I think the list of packages added to s2i-base is exactly the set of 
things which have been seen to be common across the various language 
images.  BenP & Honza can probably expand on this.  

We're discussing the same thing over on the RHSCL list, FYI =>

http://post-office.corp.redhat.com/archives/rh-software-collections/2017-March/msg00028.html

With the node image the gyp npm module is one we have had "fun" with - 
it needs Python and a C++ compiler.

Regards, Joe

> 
> On Thu, Mar 16, 2017 at 7:40 PM Ben Breard <bbreard at redhat.com> wrote:
> 
> > I mean that fedora and centos will have versions of the rhel7-atomic
> > image. With this we can potentially create smaller s2i and other useful
> > things. ...but I have no other insight on who maintains what. sorry
> >
> 
> I don't understand how Fedora and CentOS can have "versions of the
> "rhel7-atomic" image. Do you mean that there will be "atomic" (and
> therefore hopefully, smaller) images for these OSs? So, we'd have something
> like fedora-atomic and centos-atomic?
> 
> 
> > I'm confused why you would need to install httpd, etc in a base builder
> > image. Shouldn't a base s2i builder image just be the minimal requirements
> > to support runtime execution in the OpenShift environment?
> >
> > yes!!! Here's the list:
> >
> >   INSTALL_PKGS="autoconf \
> >   automake \
> >   bsdtar \
> >   bzip2 \
> >   findutils \
> >   gcc-c++ \
> >   gd-devel \
> >   gdb \
> >
> 
> Why would a plain vanilla builder image need gdb, gcc, gcc-c++, gd-devel
> and make (below)? I suppose for projects that require compilation during
> the build step this makes sense. But isn't that specific to a runtime
> platform/language? E.g. if I'm running a Ruby application, why on earth
> would I want my runtime image to contain gd-devel and gdb? And to be
> honest, even for compiled projects, gdb seems a bit overkill for a runtime
> build environment.
> 
> 
> >   gettext \
> >   git \
> >   libcurl-devel \
> >   libxml2-devel \
> >   libxslt-devel \
> >   lsof \
> >   make \
> >
>   mariadb-devel \
> >   mariadb-libs \
> >
> 
> Why include MariaDB by default in the builder images? Most projects won't
> use this will they? Or is it specific to OpenShift's needs?
> 
> 
> >   openssl-devel \
> >   patch \
> >   postgresql-devel \
> >
> 
> Same question as above. Why include this unless it's needed by OpenShift
> itself.
> 
> 
> >   procps-ng \
> >   scl-utils \
> >   sqlite-devel \
> >
> 
> Ditto...
> 
> 
> >   tar \
> >   unzip \
> >   wget \
> >   which \
> >   yum-utils \
> >   zlib-devel" && \
> >
> 
> Devel libs seem unnecessary?
> 
> I guess on the whole, I think the base builder images for any given
> operating system should have only enough in them to fulfill OpenShift
> requirements. After that, it seems that subsequent builder images that
> layer on top of these should be responsible for handling their own
> dependencies. So, it's confusing to me why we would need to include all of
> this extraneous stuff in the builder images.
> 
>  Thanks
> Lance
-- 
Joe Orton // Red Hat Core Services




More information about the Container-tools mailing list