Code Monkey home page Code Monkey logo

container-agent's Introduction

container-agent

container-agent is a small python agent designed to manage a group of Docker containers according to a YAML manifest.

Build Status

Usage

Locally

virtualenv env
env/bin/pip install git+http://github.com/GoogleCloudPlatform/container-agent.git
env/bin/container-agent <path/to/manifest.yaml>

Google Cloud Platform

Container-optimized images including container-agent are available for Google Compute Engine.

You can list available versions using:

gcloud compute images list --project google-containers

You can launch a new instance running container-agent. It will try to read the manifest from google-container-manifest metadata on startup:

gcloud compute instances create my-container-vm \
    --image projects/google-containers/global/images/container-vm-v20140522 \
    --metadata-from-file google-container-manifest=/path/to/containers.yaml \
    --zone us-central1-a \
    --machine-type f1-micro

Read more about Containers on the Google Cloud Platform

Container Group

The agent setup the container group defined by the manifest to share:

  • Network Namespaces
  • Volumes

This creates a runtime environment where:

  • Containers can connect to a service running in other containers of the same group using localhost and a fixed port.
  • Containers of the same group can't run services on the same ports.
  • Containers of the same group can mount shared volumes defined in the manifest.

Manifest

A simple netcat server.

version: v1beta1
containers:
  - name: simple-echo
    image: busybox
    command: ['nc', '-p', '8080', '-l', '-l', '-e', 'echo', 'hello world!']
    ports:
      - name: nc-echo
        hostPort: 8080
        containerPort: 8080

Read the Manifest format specification, and browse examples

Community

  • Give early feedback and talk with the community (including the developer team) on the mailing-list
  • Ask development and best practices questions on Stack Overflow
  • Chat with the community on IRC
  • Submit Issues & Feature requests to the GitHub issue tracker
  • Fork the repository and start contributing

License

Apache License, Version 2.0

container-agent's People

Contributors

emsu avatar jbeda avatar proppy avatar rockymeza 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.