Giter VIP home page Giter VIP logo

docker-fastpath's Introduction

Docker FastPath

Docker FastPath is a command line utility that interacts with your Git repo and your Docker image registry to allow you to avoid building an image for the same codebase more than once. It analyzes your git history and check if an image suitable for your current codebase is already available in your Docker image registry. For an introduction to Docker FastPath, please read my blog post.

Examples

Two deployment examples are provided:

It should be easy to use those examples to adapt FastPath to your existing software project based on Docker.

Usage

       fastpath [<options>] <revspec> <image-name>

DESCRIPTION
       <revspec> can be a reference ("HEAD") or a SHA commit id.
       <image-name> is the name of the Docker image (without the tag).


       If you use `docker login` before running this command, Docker registry
       credentials are taken from Docker client local configuration.

       Credentials can also be specified using DOCKER_USERNAME and
       DOCKER_PASSWORD environment variables.

OPTIONS
       -v, --verbose             Be verbose
       -q, --quiet               Be quiet

Installing

Prerequisites

  • Docker >= 1.7

Linux

Fastpath is available in binary form for 64-bit Linux systems.

  1. Download the latest release
  2. Run tar xzvf docker-fastpath-linux-amd64-latest.tgz to extract the executable file
  3. Run ./fastpath

You can find old releases here.

macOS

  1. Download the latest release
  2. Run unzip docker-fastpath-osx-latest.zip to extract the executable file
  3. Run ./fastpath

You can find old releases here.

Building

FastPath is available as a binary for macOS and for Linux. If you prefer to build from source, see the following build instructions.

Linux

The Linux version is statically linked to libgit2 v.0.25.1 and to libcurl 7.53.1 to provide recent versions not usually available out-of-the-box on common distributions.

The following procedure has been tested on Ubuntu Precise, but the package should be buildable on most recent distributions.

apt-get update
apt-get install build-essential cmake
mkdir build && cd build
cmake ..
make

The executable is availble as build/fastpath.

MacOS

The MacOS version is statically linked to libgit2 v.0.25.1 (approach reccomended by libgit2 maintainers) and to libcurl 7.53.1 (to provide a recent version not usually available on XCode.

brew install libssh2
brew install cmake
brew install openssl
mkdir build && cd build
cmake ..
make

The executable is availble as build/fastpath.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.