This topic explains how to run OneAgent as a Docker container for full-stack injection. Follow this approach if you're using the Docker runtime without an orchestration platform.
OneAgent deployment via Docker container is supported for Docker Engine versions 1.10 - 1.13.1, 17.03+ CE and EE and is available only for Linux-based hosts. Installation within the container isn't supported. For more information, see the limitations of this deployment model.
Create a PaaS Token.
Your Docker environment must allow your OneAgent container to run in privileged mode.
The /opt
directory must exist on the host where you deploy your OneAgent container.
Starting from the image version 1.11.1000, OneAgent Docker image no longer ships with the OneAgent installer contained within it. Instead the installer is downloaded from your environment during the image startup process. The image is forward-compatible with new OneAgent versions and there's no specific link between the OneAgent version and the image version. The only dependency that exists is a requirement for a minimum supported OneAgent version for a given image version. For details, see the table below:
The first step is to obtain the location for ONEAGENT_INSTALLER_SCRIPT_URL
. This information is presented to you during OneAgent installation.
To get your ONEAGENT_INSTALLER_SCRIPT_URL
wget
command:To run OneAgent as a Docker container, you have two options.
If you use a container orchestration tool, your orchestrator can deploy the OneAgent container for you. The example snippets below show you how to take advantage of orchestration tools in deploying OneAgent to all your nodes.
You can alternatively perform a custom installation with command-line parameters.
For more information on privileges required by OneAgent deployed as a Docker container, see OneAgent privileges for container monitoring.
ld.so.preload
on the host file system isn't modified, and therefore the automatic injection into processes running outside of containers isn't possible.oneagentdumpproc
isn't supported.INSTALL_PATH
, LOG_PATH
, and DATA_STORAGE
.oneagenthelper
process must be running prior to the application container being launched so that the application can be properly instrumented.To update OneAgent on Docker containers follow the instructions that correspond to how you've installed OneAgent.
If you've installed on Linux, follow the instructions for updating OneAgent on Linux.
If you've installed on Windows, follow the instructions for updating OneAgent on Windows.
If you've deployed OneAgent as a Docker container, restart the container using the following command
$ docker restart oneagent
provided that you've added the parameter --name=oneagent
in the appropriate Docker run command. The OneAgent Docker image will automatically fetch the latest version of OneAgent.
If you've specified a default OneAgent install version for new hosts and applications in your OneAgent updates settings, the OneAgent Docker image will automatically fetch the defined default version of OneAgent.
OneAgent auto-update isn't supported when OneAgent has been deployed as a Docker image.