zocker
zocker copied to clipboard
A tool to manage single process containers on FreeBSD using jails and ZFS
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
-
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.
-
-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
-
Now there is an example how to create a base image using RELEASE tar packages.
-
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.
-
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