stacker

command module
v0.0.0-...-d69b078 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2015 License: Apache-2.0 Imports: 14 Imported by: 0

README

Stacker

Stacker is a container manager for Docker

This is currently beta software. You can find me as cnf on the channel #docker on irc.freenode.net

pull requests, especially for documentation, are welcome. For new features, open a ticket or poke me on irc.

docker pull frosquin/stacker:dev gets you the dev version, which is mostly up to date with the devel branch.

make image will build a docker image of your own.

You can find the full documentation here

Configuration

toml files

Stacker uses toml files for its configuration

[stacker]
config_dir = "conf.d"
watch = true

[docker]
socket = "/var/run/docker.sock"

[<module>]
option = "foo"
[stacker] options
  • config_dir:string - where to look for container config files.
  • watch:bool - to watch for and react to changes in files in config_dir
[docker] options
  • socket:string - the docker socket to connect to.
    • http:/example.host.local:2375/
    • unix:///var/run/docker.sock

TODO:

  • cert:string
  • key:string
  • ca:string
planned modules
  • consul - for configuration and service advertising
  • etcd - for configuration and service advertising
  • logger and syslog - for local and remote logging of container actions.
  • cron - for scheduled runs of containers.
[[container]] options
  • name:string - name of the container. This is a mandatory field.

  • hostname:string - hostname of the container.

  • user:string - user to run as in the container.

  • memory:string - memory limits to place on the container. minimum of 512K.

  • cpu_shares:int - relative weight of CPU usage vs other containers.

  • cpu_set:string - CPU's in which to allow execution (0-3, 0,1)

  • attach:list - attach to stdin, stdout, stderr

  • expose:list - expose a port from the container. This does not publish it to the host.

  • tty:bool - allocate a pseudo-tty.

  • env:list - list of environment variables. ["FOO=bar", "FOO2=baz"]

  • cmd:list - docker CMD list.

  • image:string - docker image to use.

  • volumes:list - list of volumes.

  • workdir:string - working directory inside the container.

  • entrypoint:list - overwrite the default entrypoint set by the image.

  • cap_add:list - add Linux capabilities.

  • cap_drop:list - drop Linux capabilities.

  • cid_file:string - write the container ID to the file.

  • lxc_conf:list - add custom lxc options.

  • privileged:bool - give extended privileges to this container.

  • publish:list - publish a container᾿s port to the host. (format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort)

  • publish_all:bool - publish all exposed ports to the host interfaces.

  • link:list - add link to another container (name:alias)

  • dns:list - set custom dns servers for the container.

  • dns_search:list - set costom dns search domain for the container.

  • volumes_from:list - mount all volumes from the given container(s).

  • net:string - set the Network mode for the container. (bridge, none, container:<name|id>, host) ref

  • remove:bool - are we allowed to remove this container? NOTE: this differs from the docker run option.

TODO

Lots :P

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/cnf/structhash
Package structhash creates hash strings from arbitrary go data structures.
Package structhash creates hash strings from arbitrary go data structures.
_workspace/src/github.com/docker/docker/pkg/pools
Package pools provides a collection of pools which provide various data types with buffers.
Package pools provides a collection of pools which provide various data types with buffers.
_workspace/src/github.com/fsouza/go-dockerclient
Package docker provides a client for the Docker remote API.
Package docker provides a client for the Docker remote API.
_workspace/src/github.com/fsouza/go-dockerclient/testing
Package testing provides a fake implementation of the Docker API, useful for testing purpose.
Package testing provides a fake implementation of the Docker API, useful for testing purpose.
_workspace/src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
_workspace/src/github.com/kr/pretty
Package pretty provides pretty-printing for Go values.
Package pretty provides pretty-printing for Go values.
_workspace/src/github.com/kr/text
Package text provides rudimentary functions for manipulating text in paragraphs.
Package text provides rudimentary functions for manipulating text in paragraphs.
_workspace/src/github.com/kr/text/colwriter
Package colwriter provides a write filter that formats input lines in multiple columns.
Package colwriter provides a write filter that formats input lines in multiple columns.
_workspace/src/github.com/kr/text/mc
Command mc prints in multiple columns.
Command mc prints in multiple columns.
_workspace/src/github.com/mitchellh/mapstructure
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
_workspace/src/gopkg.in/fsnotify.v1
Package fsnotify provides a platform-independent interface for file system notifications.
Package fsnotify provides a platform-independent interface for file system notifications.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL