Docker build argument

How does one pass arguments into a dockerfile?

Lets say I have the dockerfile:

  • Error running docker container: No space left on device: “/data/db/journal”
  • Docker-compose error with service env_file
  • Adding CPUs accessible by docker for TensorFlow on Windows 10
  • openshift private docker registry Unable to push [docker-maven-plugin]
  • How to determine cause of slow requests in Flask?
  • How do I move where Docker Images are stored under Windows 2016
  • FROM    ubuntu:14.04
    
    MAINTAINER Karl Morrison
    
    sudo do-something-here myVarHere
    

    I would want to build the file as so for example:

    docker build basickarl/my-image-example /directory/of/my/dockerfile "my string to be passed to myVarHere here!"
    

  • Ansible error: KeyError: 'ApiVersion'
  • Spin down unused Dokku containers (and spin them up upon access)
  • use docker-client api to start container in Java project
  • docker-machine boot2docker root password
  • Forwarding of Docker Container running GUI on a non-GUI host
  • Port unreachable after deploying NGINX image to IBM Bluemix Container Cloud
  • 2 Solutions collect form web for “Docker build argument”

    Docker has ARG that you can use here

    FROM    ubuntu:14.04
    
    MAINTAINER Karl Morrison
    
    ARG myVarHere
    
    RUN do-something-here myVarHere
    

    And then build using --build-arg:

    docker build --build-arg myVarHere=value
    

    We’ve had a similar requirement and came up with a relatively simple script that does exactly that:

    We create a file called dockerfile_template in which we use variables just like you describe. The script takes that file, performs string substitutions and copies it to dockerfile (no _template) before calling docker build dockerfile.

    Works pretty good. Also very extensible for future requirements.

    Update:

    Scrap that. Use build-arg (here)

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