- 1 Minute to read
- Print
- DarkLight
- PDF
Java Docker Configuration
- 1 Minute to read
- Print
- DarkLight
- PDF
Follow the instructions here on how to add our profiler to your Dockerfile.
Environment Variables
Set the StackifyPrefix environment variable to 1 to set the profiler to Prefix mode.
This will put Prefix compatible traces in /usr/local/prefix/log
(Unices) or %ALLUSERSPROFILE%\Stackify\Agent\log
(Windows).
Binding the Host Trace directory to the Guest Trace directory
To get Prefix to read the traces from your app in docker, you need to use bind-mounts as mentioned in this article.
Example
If the host OS is Windows and you have a Linux OS in the container, you need to bind %ALLUSERSPROFILE%\Stackify\Agent\log
to /usr/local/prefix/log
for Prefix to see the logs.
Linux: /usr/local/prefix/log
Windows: %ALLUSERSPROFILE%\Stackify\Agent\log
%ALLUSERSPROFILE
is an environment variable. This is usually located at C:\ProgramData
but may be on another drive.
In Powershell, this would be $Env:ALLUSERSPROFILE
.
This will work on Docker Desktop because it detects Windows style paths.
To bind these directories
We use the --mount argument for the docker run command as follows:
docker run -it --rm -p 8000:80 \ --mount type=bind,source="$Env:ALLUSERSPROFILE",target=/usr/local/prefix/log \ --name java_sample java-apm