Docker
This guide covers installing the Dstl 8 agent on Docker hosts.
Prerequisites
Docker installed and running
Organization ID (provided by Dstl8)
Cluster/Group name (optional, defaults to
docker)Deployment environment label (e.g.,
prod,dev,staging)Docker admission token (generated in the Dstl8 UI)
Config and data endpoint URLs (provided in the Dstl8 UI)
Installation
Quick Install
The Dstl 8 UI generates a custom installation command for your Docker host. Simply provide your deployment environment and optionally a cluster/group name, and the UI will generate the complete command with all required credentials.
Generated Command Example:
curl -fsSL https://install.controltheory.com/scripts/install.sh -o install.sh && bash install.sh \
-p docker \
-i <org-id> \
--docker-token <token> \
--config-endpoint <config-url> \
--data-endpoint <data-host:port> \
--cluster-name <host-name> \
-e <environment>
Installation Options
With Custom Cluster/Group Name:
Without Cluster Name (Uses Default):
If you don't specify a cluster name, it defaults to docker:
Custom Docker Image Tag:
To install a specific version of the agent:
What Gets Installed
The installation script:
Pulls the ControlTheory supervisor Docker image (
controltheory/supervisor)Creates a Docker container with the necessary configuration
Connects the agent to your Dstl 8 organization
Starts monitoring and telemetry collection
Exposes OTLP receiver ports for accepting telemetry data
Default Docker Image: controltheory/supervisor:v1.3.10
OTLP Receiver
The Docker agent runs as an OTLP (OpenTelemetry Protocol) receiver and automatically exposes the following ports on the host:
Port 4317 - OTLP gRPC endpoint (mapped to container port 1757)
Port 4318 - OTLP HTTP endpoint (mapped to container port 1758)
Applications running on the same host or network can send OpenTelemetry data to these endpoints:
Verify Installation
After installation, check the status of your Docker agent:
This command displays:
Container running status
Container ID and name
Image version
Configuration details
Health check information
Manual Container Check:
You can also verify the container is running:
View Container Logs:
To see the agent logs:
Or follow logs in real-time:
Uninstall
To completely remove the Dstl 8 agent from your Docker host:
This command:
Stops the ControlTheory supervisor container
Removes the container
Cleans up associated resources
Note: The Docker image is not removed. To manually remove the image:
Troubleshooting
Common Issues
Container Not Starting:
Check the container logs for errors:
Common causes:
Incorrect admission token
Network connectivity issues
Port conflicts (ports 4317/4318 already in use)
Port Conflicts:
The Docker agent requires ports 4317 (OTLP gRPC) and 4318 (OTLP HTTP) to be available. If these ports are already in use, you'll see an error during installation.
Check which processes are using these ports:
Or on some systems:
You'll need to stop the conflicting service or modify the Docker container's port mappings.
Network Connectivity:
Verify the Docker host can reach the config and data endpoints:
Permission Denied:
Ensure your user has permission to run Docker commands. You may need to:
Then log out and back in for changes to take effect.
Container Crashes or Restarts:
Check container restart count:
Review container logs to identify the cause of crashes.
Getting Help
For installation issues:
Run the status check:
bash install.sh -o status -p dockerCollect container logs:
docker logs <container-id>Verify network connectivity to endpoints
Contact Dstl 8 support with the diagnostic information
Advanced Configuration
Running Multiple Agents
You can run multiple Dstl 8 agents on the same host by using different cluster names:
Custom Docker Configuration
The installation script uses standard Docker commands. For advanced use cases, you can:
Specify Docker Network:
Modify the installation script or run the container with a specific network:
Mount Additional Volumes:
For custom configurations or logs, you can manually adjust volume mounts after reviewing the install script's Docker run command.
Container Management
Start/Stop the Agent
Stop the agent:
Start the agent:
Restart the agent:
Update the Agent
To update to a newer version:
Stop and remove the existing container:
Run the installation with the new image tag:
Version Information
Current installer version: v1.2.3 Default Docker image: controltheory/supervisor:v1.3.10
To check the installer version:
To view all available options:
To check the running container's image version:
Last updated