appjail-oci
—
Commands for interpreting OCI images
appjail oci |
del-env jail
name |
appjail oci |
del-user jail |
appjail oci |
del-workdir jail |
appjail oci |
exec [-d ]
[[-e
name[=value]] ...]
[-u user]
[-w workdir]
jail [command
[args ...]] |
appjail oci |
from image
jail [options
...] |
appjail oci |
get-container-name
jail |
appjail oci |
get-env jail
name |
appjail oci |
get-user jail |
appjail oci |
get-workdir jail |
appjail oci |
kill [-s
signal] jail |
appjail oci |
run [-d ]
[[-e
name[=value]] ...]
[[-o option] ...]
[-u user]
[-w workdir]
image jail
[command [args ...]] |
appjail oci |
set-boot
[off |on ]
jail |
appjail oci |
set-container-name
container-name jail |
appjail oci |
set-env jail
name [value] |
appjail oci |
set-user jail
user |
appjail oci |
set-workdir jail
workdir |
The
appjail
oci utility provides support for interpreting OCI images, this
includes creating a jail using an image, executing the process defined by
the image, and so on.
You must
install
sysutils/buildah
and
textproc/jq
before using
this command.
The options are as follows:
del-env
jail name
- Removes a user-defined environment variable that was previously specified
by
set-env
.
del-user
jail
- Removes a user-defined username that was previously specified by
set-user
.
del-workdir
jail
- Removes a user-defined working directory that was previously specified by
set-workdir
.
exec
[-d
] [[-e
name[=value]]
...] [-u
user] [-w
workdir] jail
[command [args
...]]
- Executes the command specified by the OCI image. The command to be
executed is a combination of the entrypoint and its arguments. Environment
variables are also set if the OCI image contains them. If the OCI image
specifies a user, the process is executed as such, and if the working
directory is specified by the OCI image, the process is executed in that
directory (which should exist).
The command can be changed if positional arguments are
defined, the working directory can be changed using the
-w
parameter, the user to run the process as can
be changed using the -u
parameter and more
environment variables can be specified using the
-e
parameter.
The working directory, user and environment variables
can also be specified using set-workdir
,
set-user
and set-env
.
Command-line arguments take precedence over these subcommands. If no
parameters are specified using command-line arguments or the
aforementioned subcommands, the values depend entirely on those
specified by the OCI image. If the OCI image has no such values, the
working directory will be
/, the user will be
root,
and no environment variables will be specified except those specified by
the
jexec(8)'s
-l
parameter.
Note that a Linux image will probably not work if you
or the image itself specifies a user because the
getpwent(3)
function does not work in such an environment. Also some Linux images
may specify a user as
UID:GID
which is not valid by
jexec(8)
because it expects a user as
USERNAME,
which has the advantage of being more human readable and should also
exist in the environment.
If the -d
parameter is specified, the
process runs in the background.
from
image jail
[options ...]
- This is a wrapper for the
from
option of the
appjail-quick(1)
command.
get-container-name
jail
- Get the container assigned to jail.
get-env
jail name
- Gets the value of an environment variable previously specified by
set-env
.
get-pid
jail
- If the
-d
parameter was specified when executing
exec
or
appjail-start(1)
executes the process, this subcommand displays the PID of that process
only if it is running.
get-user
jail
- Gets the user previously specified by
set-user
.
get-workdir
jail
- Gets the working directory previously specified by
set-workdir
.
kill
[-s
signal]
jail
- If the process executed in the background by
exec
is running, this subcommand will kill it using the signal specified by the
OCI image. The signal can be overwritten by the -s
parameter and if none is specified,
SIGTERM
will be used. This is used by
appjail-stop(1)
to stop the process.
ls-env
jail
- Lists all environment variables previously specified by
set-env
.
mount
jail
- Mount the container directory in the jail directory.
run
[-d
] [[-e
name[=value]]
...] [[-o
option] ...]
[-u
user]
[-w
workdir]
jail [command
[args ...]]
- This subcommand first calls
from
with the options
specified by -o
, then calls
exec
. The
appjail-quick(1)'s
start
option is always used.
set-boot
[off
|on
]
jail
- Specify
on
to start the process in background
using
appjail-start(1)
or off
otherwise.
set-container-name
container-name jail
- Sets the container that will be linked to this jail.
set-env
jail name
[value]
- Sets an environment variable or overwrites a previously existing one.
set-user
jail user
- Sets the user or overwrites a previously existing one.
set-workdir
jail workdir
- Sets the working directory or overwrites a previously existing one.
umount
jail
- Unmount the container directory previously mounted by
mount
.