
runtime
Introduction
cc-runtime is the next generation of Intel® Clear Containers runtime.
This tool, henceforth referred to simply as "the runtime", builds upon
the virtcontainers
project to provide a high-performance standards-compliant runtime that
creates hardware-virtualized containers which leverage
Intel's VT-x technology.
It is a re-implementation of cc-oci-runtime written in the go language and supersedes cc-oci-runtime starting from 3.0.0.
The runtime is both OCI-compatible and CRI-O-compatible, allowing it to work seamlessly with both Docker and Kubernetes respectively.
License
The code is licensed under an Apache 2.0 license.
See the license file for further details.
Hardware requirements
The runtime has a built-in command to determine if your host system is capable of running an Intel® Clear Container. Simply run:
$ cc-runtime cc-check
Quick start for users
See the installation guides available for various operating systems.
Quick start for developers
See the developer's installation guide.
See the contributing document.
Configuration
The runtime uses a single configuration file called configuration.toml.
Since the runtime supports a stateless system,
it checks for this configuration file in multiple locations. The default
location is /usr/share/defaults/clear-containers/configuration.toml for a
standard system. However, if /etc/clear-containers/configuration.toml
exists, this will take priority.
To see which paths the runtime will check for a configuration source, run:
$ cc-runtime --cc-show-default-config-paths
To see details of your systems runtime environment (including the location of the configuration file being used), run:
$ cc-runtime cc-env
Debugging
To provide a persistent log of all container activity on the system, the runtime
offers a global logging facility. By default, this feature is disabled
but can be enabled with a simple change to the configuration file.
First, to determine the configuration file path for your host run:
$ cc-runtime cc-env | grep -A 2 'Runtime.Config.Location'
To enable the global log:
$ sudo sed -i -e 's/^#\(\[runtime\]\|global_log_path =\)/\1/g' $path_to_your_config_file
The path to the global log file can be determined subsequently by running:
$ cc-runtime cc-env | grep GlobalLogPath
Note that it is also possible to enable the global log by setting the
CC_RUNTIME_GLOBAL_LOG environment variable to a suitable path. The
environment variable takes priority over the configuration file.
The global logfile path must be specified as an absolute path. If the
directory specified by the logfile path does not exist, the runtime will
attempt to create it.
It is the Administrator's responsibility to ensure there is sufficient
space for the global log.
Limitations
See the limitations file for further details.
Home Page
The canonical home page for the project is: https://github.com/clearcontainers