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

  • apt-get update' returned a non-zero code: 100
  • Can not connect nodes to docker swarm master (using zookeeper)
  • Running a docker-compose “Getting Started” example causes “Invalid volume specification” on Windows
  • Docker image size not matching the announced size on https://github.com/docker-library/repo-info
  • crontab does not get the log in log file
  • Docker swarm issue connection refused on manage
  • FROM openresty/latest-centos
    

    in my Dockerfile, and what else should I do for openresty to be built only with modules I needed?

  • should I run composer install inside my docker build
  • Docker: how to fix “Layer already being pulled by another client. Waiting”
  • docker: make BIND_DIR=. shell doesn't work
  • Explanation of the “--upgrade add” command for Alpine Linux
  • SQL Server instance string connection in Linux Docker
  • Linking two applications in Cloud Foundry
  • 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,
    • Run 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.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.