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

Update README.md

tags/0.92
sadaszewski GitHub 4 years ago
parent
commit
bc5ffb6349
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 47 additions and 0 deletions
  1. +47
    -0
      README.md

+ 47
- 0
README.md View File

@@ -7,3 +7,50 @@ Focker is a FreeBSD image orchestration tool in the vein of Docker.
## Installation ## Installation
In order to use Focker you need a ZFS pool available in your FreeBSD installation. In order to use Focker you need a ZFS pool available in your FreeBSD installation.
### Installing the Python package
Run:
```bash
git clone https://github.com/sadaszewski/focker.git
cd focker/
python setup.py install
```
or (if you want an uninstaller):
```bash
git clone https://github.com/sadaszewski/focker.git
cd focker/
python setup.py sdist
pip install dist/focker-0.9.tgz
```
### 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:
```
/focker
/focker/images
/focker/jails
/focker/volumes
```
`images`, `jails`, and `volumes` have corresponding ZFS datasets with `canmount=off` so that they serve as mountpoint anchors for child entries.
### 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:
```bash
TAGS="freebsd-latest freebsd-$(freebsd-version | cut -d'-' -f1)"
VERSION="FreeBSD $(freebsd-version)"
SHA256=$(echo -n ${VERSION} | sha256)
NAME=${SHA256:0:7}
zfs create -o focker:sha256=${SHA256} -o focker:tags="${TAGS}" zroot/focker/images/${NAME}
bsdinstall jail /focker/images/${NAME}
zfs set readonly=on zroot/focker/images/${NAME}
zfs snapshot zroot/focker/images/${NAME}@1
```

Loading…
Cancel
Save