Closed moander closed 9 years ago
From the description of this tag: (https://registry.hub.docker.com/_/buildpack-deps/)
scm
This variant is based on curl, but also adds various source control management tools. As of this writing, the current list of included tools is bzr, git, hg, and svn. Intentionally missing is cvs due to the dwindling relevance it has (sorry CVS). This image is perfect for cases like the Java JDK, where downloading JARs is very common (hence the curl base still), but checking out code also becomes more common as well (compared to the JRE).
So, while nano
can be useful for interactive container use, how does that fit into the use case for this tag? If we do include this, why would we include nano
but not also vim
or emacs
?
It'd be handy sometimes to have an editor, but IMO if we don't keep a hard line for the types of things included in these images we'll end up ballooning very quickly.
It is very handy to have a editor available when hacking on containers.
My opinion would be to include it in the curl tag instead, not to fit the tag description, but to make life easier.
The reason we could include nano but not also vim or emacs is because nano takes up virtually no space, while vim is 32mb and emacs is 116mb. Nano is 600kb.
Right, I agree it's handy. What I'm having trouble grappling with is the notion that it fits in the description and spirit of this particular image.
These same arguments could be made for including it directly in the base images themselves, but it's not included there either (because it's not part of the minimal set of packages for either Debian or Ubuntu).
It is common practice to include a editor in the minimal images.
docker run -it ubuntu vi
docker run -it centos vi
Not explicitly though -- only as part of the distribution-specific "minimal set of packages".
This convenient editor adds only 600kb more data to the container :)