|
|
@@ -241,9 +241,13 @@ Removes one or more volume tags. |
|
|
|
|
|
|
|
The `focker compose` mode groups commands related to Focker composition files - `focker-compose.yml`.
|
|
|
|
|
|
|
|
##### build
|
|
|
|
##### build FILENAME
|
|
|
|
|
|
|
|
##### run
|
|
|
|
Builds images, volumes and jails according to the specification provided in the file pointed to by `FILENAME`.
|
|
|
|
|
|
|
|
##### run FILENAME COMMAND
|
|
|
|
|
|
|
|
Runs one of the commands (specified by `COMMAND`) from the composition file pointed to by `FILENAME`.
|
|
|
|
|
|
|
|
### `Fockerfile` syntax
|
|
|
|
|
|
|
@@ -256,17 +260,22 @@ steps: |
|
|
|
- copy:
|
|
|
|
- [ '/tmp/x', '/etc/x' ]
|
|
|
|
- [ 'files/y', '/etc/y' ]
|
|
|
|
- copy: [ files/z, /etc/z ]
|
|
|
|
- run: |
|
|
|
|
pkg install -y python3
|
|
|
|
- run:
|
|
|
|
- pkg install -y py37-pip
|
|
|
|
- pkg install -y py37-yaml
|
|
|
|
- pkg install -y py37-certbot
|
|
|
|
- run: |
|
|
|
|
pkg install -y python3 && \
|
|
|
|
pkg install -y py37-pip && \
|
|
|
|
pkg install -y py37-yaml && \
|
|
|
|
pkg install -y py37-certbot && \
|
|
|
|
mkdir -p /persist/etc/ssh && \
|
|
|
|
sed -i '' -e 's/\/etc\/ssh\/ssh_host_/\/persist\/etc\/ssh\/ssh_host_/g' /etc/rc.d/sshd && \
|
|
|
|
sed -i '' -e 's/\/etc\/ssh\/ssh_host_/\/persist\/etc\/ssh\/ssh_host_/g' /etc/ssh/sshd_config && \
|
|
|
|
sed -i '' -e 's/#HostKey/HostKey/g' /etc/ssh/sshd_config
|
|
|
|
```
|
|
|
|
|
|
|
|
`Fockerfile` currently supports only two entries - `base` and `steps`. `base` specifies the parent image on top of which the operations described by `steps` are executed. Each entry in `steps` results in creation of a new image. Focker determines a checksum for each step and if the corresponding image already exists the step is skipped and work continues on top of the existing image. This is a powerful paradigm for image building experimentation where we can split the task into multiple steps and resume work from the last successful step in case of problems. It is a big time saver. `steps` is a list that can contain `copy` and `run` entries. The `copy` entry specifies a single one or a list of copy operations from local files to the image in form of the `[FROM, TO]` tuples. The `run` entry specifies a chain of commands to be executed within the image. It can be a list of string or a single string.
|
|
|
|
|
|
|
|
### `focker-compose.yml` syntax
|
|
|
|
|
|
|
|
A sample composition file illustrating all of the principles is pasted below.
|
|
|
|