Docker: how to build an image from a non-master branch on Github repository

Is it possible to build an image from a non-master branch on a Github repository?

For example, I have the repository //github.com/myAccount/docker-myImage with a branch development that I would like to use for my image. Unfortunately, the following command only seems to allow building from the master branch:

  • Docker in Docker permissions error
  • Bower + Git submodules + Docker compose
  • docker autobuild with git private submodule
  • Passing a list of arguments to docker at build / run time
  • How to prevent Dockerfile caching git clone
  • npm install fails in jenkins pipeline in docker
  • docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage
    

    Here is the relevant documentation from man docker build:

    Building an image using a URL
           This will clone the specified Github repository from the URL and use it as context.
           The Dockerfile at the root of the repository is used as Dockerfile. This only works
           if the Github repository is a dedicated repository.
    
                  docker build github.com/scollier/Fedora-Dockerfiles/tree/master/apache
    
                  Note: You can set an arbitrary Git repository via the git:// schema.
    

    Perhaps there is an alternative, like docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage:development?

  • Can't push branch to github
  • Set static variable from Gradle on build-time
  • How to find modified files in git, even with reverted commit?
  • Rails app folder is large due to GIT pack file
  • What is the best git config set up when you are using Linux and Windows?
  • How to force a common ancestor in a git merge?
  • 3 Solutions collect form web for “Docker: how to build an image from a non-master branch on Github repository”

    docker build -t myAccount/myImage https://github.com/myAccount/docker-myImage.git#development

    See docker build command reference for more options.

    The doc that you quoted itself mentions how you can specify the branch:

    github.com/scollier/Fedora-Dockerfiles/tree/master/apache
    

    Change tree/master to the branch you want and see.

    I proposed this question on #docker at the Freenode IRC and the user scollier contacted me and he said that he’ll get back to me about this issue. I believe he is involved with the Docker documentation that I mentioned in my questions. In the meantime, I found a workaround by adding the following to my Dockerfile:

    RUN git clone something && git cd something && git checkout branch
    

    This solution seems to solve all my needs. Thanks for the support!

    Git Baby is a git and github fan, let's start git clone.