この文書は、Dockerfile
を設定してNew Relic .NETエージェントをインストールする方法例を提供します。例は、WindowsとLinuxコンテナの両方に含まれます。
Dockerコンテナでの.NETエージェントのインストールは、WindowsまたはLinuxのいずれかの標準.NETエージェントのインストールとして、同じ手順を使用して実行できます。それは、手順を実行するDockerfile
の単なる設定の問題です。
Dockerへの.NETエージェントインストール概要
要件は、以下のとおりです。
- エージェントは、監視するコンテナにインストールする必要があります。
- いずれかの標準インストール手順に従ってエージェントをインストールします。
- 必要な環境変数を設定し(該当する場合)、エージェントを有効化します。
- .NETエージェントは実行時にインストールし、有効化する必要があります。
Linux Dockerコンテナへのインストール
Linux Dockerfileの例
FROM microsoft/dotnet:2.2-aspnetcore-runtime
# Publish your application.
COPY your app to be published /app
# Install the agent
RUN apt-get update && apt-get install -y wget ca-certificates gnupg \
&& echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' | tee /etc/apt/sources.list.d/newrelic.list \
&& wget https://download.newrelic.com/548C16BF.gpg \
&& apt-key add 548C16BF.gpg \
&& apt-get update \
&& apt-get install -y newrelic-netcore20-agent \
&& rm -rf /var/lib/apt/lists/*
# Enable the agent
ENV CORECLR_ENABLE_PROFILING=1 \
CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} \
CORECLR_NEWRELIC_HOME=/usr/local/newrelic-netcore20-agent \
CORECLR_PROFILER_PATH=/usr/local/newrelic-netcore20-agent/libNewRelicProfiler.so \
NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \
NEW_RELIC_APP_NAME=YOUR_APP_NAME
WORKDIR /app
ENTRYPOINT ["dotnet", "./YOUR_APP_NAME.dll"]
LinuxマルチステージDockerfileの例
FROM microsoft/dotnet:2.2-sdk AS base
# Build your application
WORKDIR /src
RUN dotnet new mvc -o YOUR_APP_NAME
RUN dotnet build -c Release -o /app/ ./YOUR_APP_NAME
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS final
# Install the agent
RUN apt-get update && apt-get install -y wget ca-certificates gnupg \
&& echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' | tee /etc/apt/sources.list.d/newrelic.list \
&& wget https://download.newrelic.com/548C16BF.gpg \
&& apt-key add 548C16BF.gpg \
&& apt-get update \
&& apt-get install -y newrelic-netcore20-agent
# Enable the agent
ENV CORECLR_ENABLE_PROFILING=1 \
CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} \
CORECLR_NEWRELIC_HOME=/usr/local/newrelic-netcore20-agent \
CORECLR_PROFILER_PATH=/usr/local/newrelic-netcore20-agent/libNewRelicProfiler.so \
NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \
NEW_RELIC_APP_NAME=YOUR_APP_NAME
WORKDIR /app
COPY --from=base /app .
ENTRYPOINT ["dotnet", "./YOUR_APP_NAME.dll"]
Windows Dockerコンテナへのインストール
重要
Windows Nano Serverのイメージはサポートされていません。
.NET FrameworkアプリケーションへのWindows Dockerfileの例
FROM microsoft/aspnet
# Publish your application.
COPY your app to be published /inetpub/wwwroot
# Copy the New Relic .NET agent installer
COPY ./NewRelicDotNetAgent_x64.msi /
# Install the agent
RUN powershell.exe Start-Process -Wait -FilePath msiexec -ArgumentList /i,\
"C:\NewRelicDotNetAgent_x64.msi",\
/qn,NR_LICENSE_KEY=YOUR_LICENSE_KEY
# Set your application name
ENV NEW_RELIC_APP_NAME=YOUR_APP_NAME
.NET CoreアプリケーションへのWindows Dockerfileの例
FROM mcr.microsoft.com/windows/servercore:ltsc2019
# Publish your application.
COPY your app to be published /app
# Copy the New Relic .NET agent installer
COPY ./NewRelicDotNetAgent_x64.msi /
# Install the agent
RUN Start-Process -Wait -FilePath msiexec -ArgumentList /i,
"C:\NewRelicDotNetAgent_x64.msi",
/qn, NR_LICENSE_KEY=YOUR_LICENSE_KEY
# Enable the agent
ENV CORECLR_ENABLE_PROFILING=1
# Set your application name
ENV NEW_RELIC_APP_NAME=YOUR_APP_NAME
# windowsservercore images may not include the .NET Core SDK or runtime
RUN dotnet sdk/runtime installer
WORKDIR /app
ENTRYPOINT ["dotnet", ".\\YOUR_APP_NAME.dll"]
その他のヘルプ
さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:
- Explorers Hubでは、コミュニティからのサポートを受けたり、ディスカッションに参加したりすることができます。
- 当社サイトで答えを見つけて、サポートポータルの使用方法を確認してください。
- Linux、Windows、およびmacOS向けトラブルシューティングツールであるNew Relic Diagnosticsを実行してください。
- New Relicの とandドキュメント をご確認ください。