IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an email to s dot adaszewski at gmail dot com. User accounts are meant only to report issues and/or generate pull requests. This is a purpose-specific Git hosting for ADARED projects. Thank you for your understanding!
Browse Source

Documentation.

tags/0.92
parent
commit
efc1f4ce7f
1 changed files with 33 additions and 17 deletions
  1. +33
    -17
      README.md

+ 33
- 17
README.md View File

@@ -37,7 +37,7 @@ pip install dist/focker-0.9.tgz
### Setting up ZFS ### Setting up ZFS
Upon first execution of the `focker` command, Focker will automatically create the necessary directories and ZFS datasets. You just need to exclude the unlikely case that you are already using /focker in your filesystem hierarchy. The layout after initialization will look the following:
Upon first execution of the `focker` command, Focker will automatically create the necessary directories and ZFS datasets. You just need to exclude the unlikely case that you are already using `/focker` in your filesystem hierarchy. The layout after initialization will look the following:
``` ```
/focker /focker
@@ -50,7 +50,7 @@ Upon first execution of the `focker` command, Focker will automatically create t
### Preparing base image ### Preparing base image
To bootstrap the images system you need to install FreeBSD in jail mode to a ZFS dataset placed in /focker/images and provide two user-defined properties - `focker:sha256` and `focker:tags`. One way to achieve this would be the following:
To bootstrap the images system you need to install FreeBSD in jail mode to a ZFS dataset placed in `/focker/images` and provide two user-defined properties - `focker:sha256` and `focker:tags`. One way to achieve this would be the following (using Bash shell):
```bash ```bash
TAGS="freebsd-latest freebsd-$(freebsd-version | cut -d'-' -f1)" TAGS="freebsd-latest freebsd-$(freebsd-version | cut -d'-' -f1)"
@@ -139,49 +139,65 @@ focker
Individual combinations are briefly described below: Individual combinations are briefly described below:
#### focker image
#### focker image|img|im|i
The `focker image` mode groups commands related to Focker images. The `focker image` mode groups commands related to Focker images.
##### build FOCKER_DIR [--tags TAG [...TAG]]
##### build|b FOCKER_DIR [--tags TAG [...TAG]]
Build a Focker image according to the specification in a Fockerfile present in the specified FOCKER_DIR. Fockerfile syntax is very straightforward and explained below. Build a Focker image according to the specification in a Fockerfile present in the specified FOCKER_DIR. Fockerfile syntax is very straightforward and explained below.
##### tag REFERENCE TAG [...TAG]
##### tag|t REFERENCE TAG [...TAG]
Applies one or more tags to the given image. REFERENCE can be the SHA256 of an image or one of its existing tags. It can be just a few first characters as long as they are unambiguous. Applies one or more tags to the given image. REFERENCE can be the SHA256 of an image or one of its existing tags. It can be just a few first characters as long as they are unambiguous.
##### untag TAG [...TAG]
##### untag|u TAG [...TAG]
Removes one or more image tags. Removes one or more image tags.
##### list [--full-sha256|-f]
##### list|ls|l [--full-sha256|-f]
Lists existing Focker images, optionally with full SHA256 checksums (instead of the default 7 first characters). Lists existing Focker images, optionally with full SHA256 checksums (instead of the default 7 first characters).
##### prune
##### prune|p
Greedily removes existing Focker images without tags and without dependents. Greedily removes existing Focker images without tags and without dependents.
##### remove REFERENCE
##### remove|r REFERENCE
Removes the specified image. Removes the specified image.
#### focker jail
#### focker jail|j
##### create
The `focker jail` mode groups commands related to Focker-managed jails.
##### start
##### create|c IMAGE [--command|-c COMMAND] [--env|-e VAR1:VALUE1 [...VARN:VALUEN]] [--mounts|-m FROM1:ON1 [...FROMN:ONN]] [--hostname|-n HOSTNAME]
##### stop
Creates a new Focker-managed jail. A jail consists of a clone of the given `IMAGE` and an entry in `/etc/jail.conf`. The configuration entry uses `exec.prestart` and `exec.start` to specify how the runtime environment (mounts and environmental variables) should be set up. It also calls `COMMAND` as last in `exec.start`. If not specified `COMMAND` defaults to `/bin/sh`. The hostname can be specified using the `HOSTNAME` parameter. Mounts and environment variables are provided as tuples separated by a colon (:). The environmental variable specification consists of variable name followed by variable value. The mount specification consists of the "from path", followed by the "on path". "From path" can be a local system path or a volume name.
##### remove
##### start|s REFERENCE
##### exec
Starts the given jail specified by `REFERENCE`. `REFERENCE` can be the SHA256 of an existing jail or one of its existing tags. It can be just a few first characters as long as they are unambiguous. This command is equivalent of calling `jail -c`.
##### oneshot
##### stop|S REFERENCE
##### list
Stops the given jail specified by `REFERENCE`. This command is equivalent to calling `jail -r`.
##### remove|r REFERENCE
Removes the given jail specified by `REFERENCE`. The jail is stopped if running, any filesystems mounted under its root directory are unmounted, its ZFS dataset and entry in `/etc/jail.conf` are removed.
##### exec|e REFERENCE [...COMMAND]
Executes given `COMMAND` (or `/bin/sh` if not specified) in the given running jail specified by `REFERENCE`. This command is the equivalent of calling `jexec`.
##### oneshot|o IMAGE [--env|-e VAR1:VALUE1 [...VARN:VALUEN]] [--mounts|-m FROM1:ON1 [...FROMN:ONN]] [...COMMAND]
Create a new one-time Focker-managed jail. The syntax and logic is identical to `focker jail create`, the difference being that the hostname cannot be specified and that the jail will be automatically removed when the `COMMAND` exits.
Example: `focker jail oneshot freebsd-latest -e FOO:bar -- ls -al`
##### list|ls|l
##### tag ##### tag


Loading…
Cancel
Save