A tool to manage single process containers on FreeBSD using jails and ZFS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmds
examples
lib
tests
.gitignore
LICENSE
README
config.default
zocker

README

Zocker

A tool that can manage one process containers on FreeBSD using jails and ZFS. 
Zocker aims to be a simple, but still functional tool to hack and learn 
the container concept. The todo list below is long, but the tool is already 
fully functional and is used to manage applications in a cluster.

Read more about Zocker from the post http://bit.ly/1enEaSH.
There is a tutorial in the post also.

Major changes after the post

1. Zocker will automatically generate a loopback address for a container. Then 
   processes can bind to the loopback address inside containers. However, 
   loopback addresses are accessible from other containers on the same host.

2. -l option changed, now the choises are
   a. inet (was host), that tries to resolve container name to obtain an IP 
      address, in addition to a loopback address
   b. local (new), that provides a loopback address only
   c. none, that disables networking

3. Now there is an example how to create a base image using RELEASE tar 
   packages.

4. Switched image transfer from an incremental snapshot on a single filesystem 
   to an incremental snapshot from a cloned filesystem. This is a backward 
   incompatible change in saved images and in images in repository. The change 
   simplifies ZFS commands. Image format version is increased from z0 to z1.

5. Improvements in the volume concept. Added automatic volumes that can be 
   created without providing the target. Eg. if '-v /mnt' is provided Zocker 
   will create a ZFS filesystem and mount it to /mnt. Volumes can also be 
   mounted from other containers using -V option.

Notes
- We don't need to store CPU architecture information in an image, as image 
  names need to differ in any case, and we can have the information in naming.

TODO
- zocker rmi can't remove tags, all tags are removed when image is deleted
- ctrl-c in rm deletes imageid but not ZFS fs
- ctrl-c in commit leaves trash snapshots to jail and unfinshed image