Wrap origin public Dockerfile to manage build args, etc
I’m very new to Docker and stuff, so I wonder if I can change source official and public images from Docker.Hub (which I use in
FROM directive) on-the-fly, while using them in my own container builds, kinda like chefs chef-rewind do?
For example, if I need to pass build-args to openresty/latest-centos to build it without modules I won’t use. I need to put this
in my Dockerfile, and what else should I do for openresty to be built only with modules I needed?
One Solution collect form web for “Wrap origin public Dockerfile to manage build args, etc”
When you use the
FROM directive in a Dockerfile, you are simply instructing Docker to use the named image as the base for the image that will be built with your Dockerfile. This does not cause the base image to be rebuilt, so there is no way to “pass parameters” to the build process.
If the openresty image does not meet your needs, you could:
- Clone the openresty git repository,
- Modify the Dockerfile,
docker build ...to build your own image
Alternatively, you can save yourself that work and just use the existing image and live with a few unused modules hanging around. If the modules are separate components, you could also issue the necessary commands in your Dockerfile to remove them.