# Docker で Collector をインストールする

LLMS index: [llms.txt](/llms.txt)

---

以下のコマンドを使用して、Docker イメージをプルし、コンテナで Collector を実行します。
`0.153.0` は、実行したい Collector のバージョンに置き換えてください。

   <ul class="nav nav-tabs" id="tabs-1" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"
          data-td-tp-persist="dockerhub" aria-controls="tabs-01-00" aria-selected="true">
        DockerHub
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"
          data-td-tp-persist="ghcr.io" aria-controls="tabs-01-01" aria-selected="false">
        ghcr.io
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-1-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">docker pull otel/opentelemetry-collector:0.153.0
</span></span><span class="line"><span class="cl">docker run otel/opentelemetry-collector:0.153.0
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">docker pull ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0
</span></span><span class="line"><span class="cl">docker run ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0
</span></span></code></pre></div>
    </div>
</div>


作業ディレクトリからカスタム構成ファイルを読み込むには、ファイルをボリュームとしてマウントします。

   <ul class="nav nav-tabs" id="tabs-2" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-02-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-00" role="tab"
          data-td-tp-persist="dockerhub" aria-controls="tabs-02-00" aria-selected="true">
        DockerHub
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-02-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-02-01" role="tab"
          data-td-tp-persist="ghcr.io" aria-controls="tabs-02-01" aria-selected="false">
        ghcr.io
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-2-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-02-00" role="tabpanel" aria-labelled-by="tabs-02-00-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">docker run -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>/config.yaml:/etc/otelcol/config.yaml otel/opentelemetry-collector:0.153.0
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-02-01" role="tabpanel" aria-labelled-by="tabs-02-01-tab" tabindex="2">
        <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">docker run -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>/config.yaml:/etc/otelcol/config.yaml ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0
</span></span></code></pre></div>
    </div>
</div>


## Docker Compose {#docker-compose}

既存の `docker-compose.yaml` ファイルに OpenTelemetry Collector を追加することもできます。

```yaml
otel-collector:
  image: otel/opentelemetry-collector
  volumes:
    - ./otel-collector-config.yaml:/etc/otelcol/config.yaml
  ports:
    - 1888:1888 # pprof拡張
    - 8888:8888 # Collector の Prometheus メトリクス
    - 8889:8889 # Prometheusエクスポーターのメトリクス
    - 13133:13133 # health_check拡張
    - 4317:4317 # OTLP gRPCレシーバー
    - 4318:4318 # OTLP httpレシーバー
    - 55679:55679 # zpages拡張
```

`otel-collector-config.yaml` ファイルは Collector の起動に必要です。
詳しくは [Collector の設定](/docs/collector/configuration/)を参照してください。

以下は、受信したすべてのテレメトリーをログに出力する最小限の Collector 設定です。

```yaml
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [debug]
    metrics:
      receivers: [otlp]
      exporters: [debug]
    logs:
      receivers: [otlp]
      exporters: [debug]
```
