Giter Club home page Giter Club logo

wercker-docker-sample's Introduction

wercker-docker-sample

wercker status

This is a sample app to demonstrate docker support on wercker.

What is docker?

Docker is an exciting open-source project to pack, ship and run any application as a lighthweight portable container. Developers and system administrators can author lightweight images that provide a pristine state that encapsulates an application.

Think of it as a way to pack your application as a virtual machine, without the overhead and performance penalty of the hypervisor.

If you want to learn more about docker, here is a list of resources we like:

Common scenario's

We are exited to see how docker will be used. In the conversations we've had with our users we distilled the following three scenarios:

  1. Testing a Dockerfile by building a container, start it and execute a serie of tests to validate the correctness of the provisioned container.

  2. Build a service and pack it into an image and deploy it to the docker registry.

  3. Pack software as part of a deployment pipeline and deploy it to an IaaS, such as Digital Ocean.

You can expect a series of blogposts that cover these scenarios in detail soon.

How to use docker on wercker

Your build and deployment pipeline is executed in a wercker box. A box is basically a virtual machine with a set of packages installed to support your stack of choice.

The box that has docker available is released under the wercker-labs account and can be used by setting the box element in your wercker.yml to wercker-labs/docker.

Here is an example that demonstrates a wercker.yml which echos the docker version from within the build pipeline:

box: wercker-labs/docker
build:
  steps:
    - script:
        name: Build the application
        code: |
          docker -v

A wercker environment is immutable and every build and deploy is executed in a clean environment. To speed up the build process of your docker containers we've added the following base images to wercker which you can leverage:

Please let us know if you need any other base images!

Other packages

The box runs ubuntu 13.04 (Raring Ringtail) and is packed with packages for all major development platforms including ruby, python, nodejs, php, openjdk, erlang and go. It also has development headers and clients installed for database services.

If you like to add extra packages, you can install them as part of your build or deployment pipeline with the install-packages step:

box: wercker-labs/docker
build:
  steps:
    - install-packages:
        packages: apache
    - script:
        name: Build the application
        code: |
          docker -v

If you think your packages should be part of the box, just let us know!

Caveats

Here is a list of the caveats. We will continue working on fixing these and the priority is based on the voice of our users.

  • wercker services are not supported.
  • You cannot inherit from the wercker-labs/docker box.
  • The number of packages installed is limited. Please us know if you miss any!

We are here to help!

As always, we are here to help your builds turn green and your software deployed. We're also looking forward to receive feedback. You can contact us by replying to this e-mail. You can request features or get support via uservoice.

What is next?

We will continue to work on our Docker support. You can expect a number of articles that will explain common use-case scenarios plus internals.

Earn some stickers!

Let us know about the applications you build with wercker. Don't forget to tweet out a screenshot of your first green build with #wercker and we'll send you some @wercker stickers.

Follow us on twitter as well to stay in the loop.

wercker-docker-sample's People

Contributors

mies avatar pjvds avatar

Watchers

 avatar  avatar  avatar

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.