-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minimal image for Deployment to production #6
Comments
we had such a discussion in docker-library/official-images#1075 @msaraiva already made a |
support to latest erlang/otp release could be lagged behind; building from source code gives us flexibility to keep closer with upstream Look at package download page from erlang solutions, I can't figure out which patch version of 18.1 was that built from? in some cases that may not matter, and we can do it if interests arise with maintaining an esl variant I think most of the programming language official images to include build-essentials is to keep developer friendly, for study purpose; and I haven't heard anyone using that in production deployment. |
thanks for clarification, but it should be highlighted more that these are not meant for production |
if you ever used official docker images in other programming languages like these, I never heard any of these ever used in production deployment; while that doesn't hurt if we can clarify; PR(s) are welcome 💯 https://hub.docker.com/_/python/ |
I realize that now, and you're correct that it's certainly not clarified on I'm going to go on a rant here: As far as I can read about the Docker project, the main advantage of Docker Moreover, at this point, only the Official images are audited by Nautilus Given the situation highlighted in this issue, it seems the build/compile and, if this is the case, this needs to happen at every step to fulfill the On Fri, Dec 11, 2015 at 12:59 AM, Mr C0B [email protected] wrote:
|
I just realized that I didn't put slim versions with the official images 💤 |
For production you should not be using these images :). You don't need most Erlang apps for production most likely, so building a release that is only the applications you need is the best way to go. I use these images through circleci2.0 to build the release tarball and then use that to build a docker image, with |
now provides 3 variants: 1. the regular developer friendly: `buildpack-deps:jessie` based, which is `debian:jessie` based, plus GNU C compiler and building tools and header files, and curl for downloading, source code management tools (bzr, git, hg, and svn), build and install erlang from source code; 2. the slim is `debian:jessie` based, build and install erlang from source code, and then remove the building tools for slim image size; 3. the alpine image is Apline Linux image based, build erlang from source code, this provides a really small image (<20MB). This should eventually resolves #6 in June when erlang:20-alpine pushed to Docker Hub.
I notice all the official images (except slim) include build-essentials.
This is great for development - for production it may however be required to reduce the attack surface.
Regarding slim, I couldn't find the tags on the docker hub? It still builds from source, even though it removes the build-essential packages, is this really necessary?
For production, would it be possible to create a Dockerfile which deploys using the rpm packages?
for example:
Are there any disadvantages from this approach?
The text was updated successfully, but these errors were encountered: