CLion 2026.2 Help

Docker ツールチェーン

Docker コンテナーでの開発を目的として、CLion は専用の Docker ツールチェーンを介して完全な Docker 統合を提供します。 詳細については、このビデオを参照してください。

サンプル Dockerfile

CLion で Docker 開発を始めるために、Ubuntu ベースイメージ用の Dockerfile の例を作成しました。 このファイルをプロジェクトにコピーしてニーズに合わせて調整するか、参照として使用することができます。

サンプルファイルには、次の行とセクションが含まれています。

  • 上部のコメントには、コンテナーを 構築するためのコマンドがあります。

  • FROM ubuntu:20.04 行は、コンテナーのベースイメージを参照します。

  • apt-get パーツは、すべてのツールチェーンの依存関係をコンテナーにインストールします。 ここでは、ツールとそのバージョンを調整できます。

    コンテナーを構築する

    • Dockerfile の先頭から docker build コマンドを実行します。

      docker build -t clion/ubuntu/cpp-env:1.0 -f Dockerfile.cpp-env-ubuntu .

      プラットフォームと Docker 設定によっては、 sudo を使用して実行する必要がある場合があります。

      このコマンドは、適切なツールチェーンの依存関係を持つ Ubuntu ベースイメージを構築します。

    Docker ツールチェーンを作成する

    1. 設定 | ビルド、実行、デプロイ | ツールチェーン に進みます。

      ツールチェーンを追加 をクリックし、 Docker を選択します。

      Docker ツールチェーンの追加
    2. サーバー フィールドの歯車ボタンをクリックして、Docker イメージを追加します。

      Docker イメージを追加する

      設定 | ビルド、実行、デプロイ | Docker で Docker サーバーを構成し、ツールチェーン設定でそれを選択することもできます。

    3. Docker イメージを選択し、ツールの検出が完了するまで待ちます。

      Docker ツールチェーンが構成されています

      コンテナー設定 フィールドを使用して、ポートやボリュームのバインディングなどの追加のコンテナー設定を提供します。

      Docker コンテナーの設定

    Docker ツールチェーンを使用したビルド、実行、デバッグ

    Docker ツールチェーンを構成した後、 CMake プロファイルまたは Makefile 設定で選択できます。 または、ツールチェーンをリストの一番上に移動して、デフォルトにします。

    CMake プロファイルの Docker ツールチェーン
    • プロジェクトフォルダーは Docker コンテナーにマウントされ、その中でビルド / 実行 / デバッグが実行されます。

      デフォルトでは、プロジェクトフォルダーはコンテナーの /tmp フォルダーにマウントされます。 ただし、 ツールチェーンでパスマッピングが指定されている場合、CLion はそれらを使用します。

      例えば、プロジェクトルートが /data/code/project でツールチェーンパスマッピングが /data/code -> /code の場合、CLion はこのマッピングを再利用し、プロジェクトを /tmp/project にマウントしません。

    • CLion はコマンド実行後にコンテナーを起動し、シャットダウンします。

      SELinux でマウントをバインドする

      :z 構成フラグを Docker バインドマウントに追加して、SELinux が有効なワークステーションで実行されているコンテナーにファイルとフォルダーを接続できます。 これにより、CMake やその他のツールがシステム上のプロジェクトファイルやその他のファイルにアクセスできるようになります。

      1. 設定 / 環境設定 | 詳細設定 | Docker に進みます。

      2. 対応するチェックボックスを設定します:

        SELinux システムのバインディング

      Windows での Docker ツールチェーンのパフォーマンスを向上させる

      Windows でのパフォーマンスを向上させるには、WSL2 バックエンドで Docker を使用することをお勧めします。

      1. WSL2 バックエンドを備えた Docker デスクトップ(英語)を設定します。

      2. Docker デスクトップアプリケーションで、 設定 | リソース | WSL 統合 に移動し、WSL ディストリビューション(たとえば、 ubuntu-20.04 )との統合を有効にします。

      3. プロジェクトソースを WSL ファイルシステム(例: \\wsl$\ubuntu-20.04\tmp\llvm )に配置し、それを CLion で開いて Docker ツールチェーンを構成します。

      WSL で Docker のデバッグ出力を有効にする

      WSL 内の Docker ツールチェーンを使用してデバッグするときにデバッグ出力を取得するには、 wsl.conf を変更する必要があります。

      1. WSL シェルを開きます。

      2. wsl.conf ファイルを編集のために開きます。

        sudo $EDITOR /etc/wsl.conf
      3. 以下の行を追加してください。

        [automount] root = /mnt crossDistro = true options = "metadata"
      4. 変更内容を保管します。

      5. WSL を再起動します。 これを行うには、 wsl -t <distribution_name> を実行します。

      代替ワークフロー: ローカルソースでリモートを使用して Docker で開発する

      この場合、Docker ベースのツールチェーンは、 ローカルソースを使用してリモートを介して構成されます。 コンテナーは SSH デーモンで実行されている必要があります。

      リモートシナリオのサンプル Dockerfile

      remote-cpp-env(英語) サンプルファイルを使用します。 2 つの追加セクションが含まれています。

      • ssh セクションでは、CLion が接続するための SSH を設定します。

      • ユーザー セクションは、コンテナーにユーザーを作成します。

      1。 コンテナーを構築する

      1. Dockerfile の上から docker build 行を使用します。

        docker build -t clion/remote-cpp-env:0.5 -f Dockerfile.remote-cpp-env .

        プラットフォームと Docker 設定によっては、 sudo を使用して実行する必要がある場合があります。

        このコマンドは、適切なツールチェーンの依存関係を使用して Ubuntu ベースイメージを構築し、SSH を設定して、ユーザーを作成します。

      2。 コンテナーを実行する

      1. 次のコマンド docker run を使用します。

        docker run -d --cap-add sys_ptrace -p127.0.0.1:2222:22 --name clion_remote_env clion/remote-cpp-env:0.5

        この行では、 -d がコンテナをデーモンとして実行し、 --cap-add sys_ptrace がデバッグに必要な ptrace のケーパビリティを追加します。

        -p 部分は、ポートマッピングを指定します。 コンテナー(22)内のデフォルトの SSH ポートをホスト環境のポート 2222 として公開します。 ここで使用可能なポート番号を指定できます。

      2. (オプション) -v フラグを使用してマップされたボリュームを作成できます: -v /local/path/to/project:/remote/path/to/project

        その後、 設定 | ビルド、実行、デプロイ | デプロイ に移動し、接続タイプを ローカルまたはマウント済みフォルダー​​ に変更して、パスマッピングを設定します。 ローカルソースを使用したリモート: デプロイ構成を確認して調整するを参照してください。

      3。 キャッシュされた SSH キーをクリアする

      1. コンテナのビルドと実行の最後のステップは ssh-keygen コマンドで、キャッシュされた SSH キーをクリアします。 これは、localhost のポートが一時的にしかマッピングされず、異なるコンテナーで再利用されるため重要です。

        ssh-keygen -f "$HOME/.ssh/known_hosts" -R "[localhost]:2222"

      4。 リモートホストツールチェーンを作成する

      この時点で、コンテナーは SSH サーバーデーモンで実行されており、CLion の標準リモート開発機能を使用してコンテナーに接続できます。

      1. リモートツールチェーンの作成に関する一般的な手順に従います。

        資格情報 フィールドで、SSH 構成をセットアップします。

        • ホスト - ローカルホスト

        • ポート-2222

        • ユーザー名パスワード - Dockerfile で指定されているとおり

      2. 接続を確立した後、CLion はツールチェーンの検出を試みます。 ツールはデフォルトの場所にインストールされているため、自動的に検出されます。

        Dockefile の apt-get 部分を変更してツールを他の場所にインストールする場合は、 MakeC コンパイラーC++ コンパイラーデバッガー​ フィールドにパスを指定します。

      3. リモートツールチェーンを使用する CMake プロファイルを作成します。 プロジェクトが再読み込みされるのを待ちます。

      ファイルがコンテナーに転送されたら、実行 / デバッグ構成スイッチャーでプロファイルを選択して、指定したツールチェーンを使用してコンテナー内でコードをビルド、実行、デバッグできます。

      2026 年 7 月 15 日