Skip to content

Container

A Container resource lets you create and configure Docker containers that make up your lab environment. Containers provide the compute layer of your sandbox, allowing you to run applications, services, and tools that participants will use during hands-on exercises.

Through the UI, you can define container settings such as the image, startup commands, exposed ports, and environment variables — all without needing to write configuration files. You can also connect containers to networks, manage how they interact within the lab, and make them accessible through terminal tabs for users to interact with directly.

Containers make it easy to design flexible, interactive environments that replicate real-world systems and support a wide range of lab scenarios.

Container resources can be created in the Sandbox tab. To create a new Container resource, navigate to the Sandbox tab and click the + button. Select Container from the dropdown menu.

Create a new container resource

Start by naming the container. Note that this is an internal name. You can assign a variety of settings to your container, but you also have the option to use a preset. Presets are pre-configured images for common container setups that can help you get started quickly. You can choose a preset from the Select preset dropdown menu:

Select a preset for the container

Alternatively, you can select your own public or private image. By selecting “Add a new public or private image on GCP” you can add a custom image in the input.

For more advanced configuration options, you can check the Advanced configuration section below.

To edit a container resource, you can select it from the list of existing sandboxes in the Sandbox tab. Click on the container you want to edit, make your changes in the configuration panel, and then click Add changes to save your updates.

FieldRequired?DefaultDescription
ImageDocker image for the container
EntrypointOverride the default entrypoint
CommandCommand to run in the container
EnvironmentEnvironment variables
CommandSelect a network for the container
Environment VariablesKey-value pairs for environment variables
LabelsKey-value pairs for container labels
DNSConfigure DNS settings for the container
FieldRequired?DefaultDescription
LocalLocal port on the host machine
HostPort inside the container
ProtocolDefaultProtocol type (TCP/UDP). Default is TCP.
FieldRequired?DefaultDescription
RangeRange of ports on the host (e.g. 3000-3010)
Enable hostfalseEnable host port mapping
ProtocolDefaultProtocol type (TCP/UDP). Default is TCP
FieldRequired?DefaultDescription
SourceSource path on the host machine
DestinationDestination path inside the container
TypebindType of volume (bind/volume/tmpfs)
Read OnlyfalseMount the volume as read-only
Bind propagationBind mount propagation settings
SELinux relabelSELinux relabeling settings
FieldRequired?DefaultDescription
Timeout30sCommand to test container health
FieldRequired?DefaultDescription
AddressHealthcheck URL
MethodGETHTTP method
BodyRequest body
HeadersHTTP headers
Success codes200Expected success codes
FieldRequired?DefaultDescription
AddressHealthcheck address
FieldRequired?DefaultDescription
CommandHealthcheck command
ScriptHealthcheck script
Exit code0Expected exit code
FieldRequired?DefaultDescription
Network IDSelect the network for the container
IP AddressStatic IP address for the container
AliasesNetwork aliases for the container
FieldRequired?DefaultDescription
CPUCPU and memory limits
CPU PinPin CPU cores to the container
Memory256Memory limits
GPU DriverGPU settings for the container
GPU Device IDsGPU device ID for the container
PrivilegedRun the container in privileged mode
Max Restarts Count0Maximum number of restarts for the container
FieldRequired?DefaultDescription
AddAdd capabilities to the container
DropDrop capabilities from the container
FieldRequired?DefaultDescription
UserrootUser to run the container as
GrouprootGroup to run the container as

The Container resource serves as the core compute component of your sandbox, enabling you to run the applications, services, and tools used in hands-on labs. You can easily create and configure containers through the UI by choosing a preset image or defining your own, setting startup commands, ports, and environment variables — all without writing configuration files.

For more granular control, containers can also be fine-tuned using advanced configuration options such as volumes, health checks, networks, and resource limits.

Overall, container resources make it simple to build flexible, interactive environments that closely replicate real-world systems and provide an engaging learning experience.