Creating Tracee Container Images¶
These instructions are meant to describe how to build the official tracee containers images, instead of just downloading them from the Docker Hub.
If you would like to have a local building and execution environment, read this instead.
Generating Tracee Containers¶
Tracee containers come in 2 flavors:
-
tracee:latest
Contains an executable binary with an embedded eBPF CO-RE enabled object that makes it portable against multiple environments and kernel versions.
$ BTFHUB={0,1} make -f builder/Makefile.tracee-container build-tracee
-
tracee:full
Contains tracee source tree and required toolchain in order to, during the startup time, compile a eBPF non CO-RE object, to your specific running environment, and make the executable to use on execution time.
$ BTFHUB={0,1} make -f builder/Makefile.tracee-container build-tracee-full
Note
BTFHUB=1
adds support to some older kernels so user doesn't need to build specific non CO-RE eBPF objects to them.
Running Tracee Containers¶
Containers are supposed to be executed through docker cmdline directly, from the official built images. Nevertheless, during the image building process, it may be useful to execute them with correct arguments to see if they're working.
User may execute built containers through Makefile.tracee-container
file with
the "run" targets:
-
To run the tracee:latest container:
$ make -f builder/Makefile.tracee-container run-tracee
-
To run the tracee:full container:
$ make -f builder/Makefile.tracee-container run-tracee-full
Note
Tracee-ebpf arguments are passed through the
ARG
variable:$ make -f builder/Makefile.tracee-container run-tracee ARG="--help"
Running Tracee-eBPF Only¶
Generated containers allow user to run Tracee, as a complete security solution (tracee-ebpf passes events to tracee-rules and tracee-rules process events based on existing security signatures) or to run tracee-ebpf only, as an introspection tool.
- To run the
tracee:latest
container with tracee-ebpf only:
$ make -f builder/Makefile.tracee-container run-tracee-ebpf
- To run the
tracee:full
container with tracee-ebpf only:
$ make -f builder/Makefile.tracee-container run-tracee-ebpf-full
Note
Tracee-ebpf arguments are passed through the ARG
variable:
$ make -f builder/Makefile.tracee-container run-tracee-ebpf ARG="--debug"