すべての開発者は、最終的にローカルマシンで壁にぶつかります。おそらく、CPU を消耗する AI モデルをトレーニングしたり、ファンをジェット エンジンのように聞こえるようにする大規模なコードベースをコンパイルしたり、単に GPU ワークロードを搭載していないラップトップで実行しようとしたりしているのかもしれません。結果は同じで、ビルドが遅く、リソースが限られ、時間が無駄になります。
Docker Offload は、まさにその問題を解決するために構築されました。ハードウェアのアップグレードを強制したり、クラウド インフラストラクチャのセットアップに数日を費やしたりする代わりに、Offload は既存の Docker ワークフローをクラウドに拡張します。すでに知っているのと同じ docker build
と docker run
コマンドを使い続けますが、舞台裏では、クラウドでホストされる強力なマシン (GPU を含む) で面倒な作業が行われます。
これは Docker のターボ ボタンと考えてください: 同じ開発者エクスペリエンスを、スーパーチャージャーしただけです。
Docker Offload は、使い慣れたローカル開発エクスペリエンスを維持しながら、クラウドで Docker ビルドを実行し、コンテナーを実行できるフルマネージド サービスです。高速で一貫性のあるビルドと、LLM、機械学習パイプライン、GPU アクセラレーション アプリケーションの実行などのコンピューティング集約型ワークロードのためのオンデマンド クラウド インフラストラクチャを提供します。
これは、クラウド リソースを活用する場合、またはローカル マシンがモデルをローカルで実行するためのハードウェア要件を満たしていない場合に最適です。
Docker オフロードを使用する理由
Docker Offload は、ローカル環境とクラウド環境で作業する最新の開発チームをサポートするように設計されています。これはあなたに役立ちます:
- 重いビルドと実行を高速でスケーラブルなインフラストラクチャにオフロードします
- 開発とテストにおけるフィードバックループを加速
- ローカル設定で提供できるよりも多くのリソースを必要とするコンテナを実行する
- Docker Compose を使用して、クラウド リソースを必要とする複雑なマルチサービス アプリを管理する
Docker Offload は、ローカル ツールのシンプルさを犠牲にすることなく、クラウドの柔軟性を必要とする高速開発ワークフローに最適です。
始め方
ステップ 1: Docker Offload にサインアップしてサブスクライブしてアクセスします
Docker Offload にアクセスするには、 サインアップ してサブスクライブする必要があります。
ステップ 2: Docker オフロードの開始
- Docker Desktop を起動し、アカウントでサインインします。
- ターミナルを開き、次のコマンドを実行して Docker オフロードを開始します。
$ docker offload start
- プロンプトが表示されたら、Docker オフロードに使用する Docker アカウントを選択します。このアカウントは、Docker オフロードの使用に対してクレジットを消費します。
- プロンプトが表示されたら、GPU サポートを有効にするかどうかを選択します。GPU サポートを有効にすることを選択した場合、Docker オフロードは NVIDIA L4 GPU を搭載したインスタンスで実行され、機械学習やコンピューティング集約型のワークロードに役立ちます。

手記
GPU サポートを有効にすると、より多くの予算が消費されます。詳細については、「 Docker オフロードの使用状況」を参照してください。
ステップ 3: Docker オフロードを使用してコンテナを実行する
Docker Offload を開始すると、Docker Desktop はローカル エクスペリエンスを反映する安全なクラウド環境に接続します。ビルドまたはコンテナを実行すると、リモートで実行されますが、ローカルのものと同じように動作します。

Docker オフロードが機能していることを確認するには、コンテナーを実行します。
$ docker run --rm hello-world
GPU サポートを有効にした場合は、GPU 対応コンテナを実行することもできます。
$ docker run --rm --gpus all hello-world
Docker オフロードが機能している場合は、ターミナル出力に Hello from Docker!
が表示されます。
ステップ 4: Docker オフロードの停止
Docker Offload の使用が終了したら、それを停止して予算の消費を停止できますが、数分後にオフロード ワーカーは完全に破棄されます。停止すると、イメージのビルドとローカルでのコンテナーの実行に戻ります。
$ docker offload stop
Docker オフロードを再度開始するには、 docker offload start
コマンドを実行します。
貯金
Docker Offload は、ビルドを呼び出すマシンではなく、ビルドをリモートで実行します。つまり、ローカルシステムからクラウドにネットワーク経由でファイルを転送する必要があります。
ネットワーク経由でファイルを転送すると、ローカル転送に比べて遅延が長くなり、帯域幅が低くなります。これらの影響を軽減するために、Docker Offload にはいくつかのパフォーマンスの最適化が含まれています。
- ビルドキャッシュにアタッチされたストレージボリュームを使用するため、キャッシュの読み取りと書き込みが高速になります。
- ビルド結果をローカル マシンにプルバックすると、前のビルド以降に変更されたファイルのみが転送されます。
これらの最適化を行っても、大規模なプロジェクトやネットワーク接続の速度が遅いと、転送時間が長くなる可能性があります。Docker オフロードのビルド設定を最適化する方法をいくつか紹介します。
Dockerfile の一般的なヒントについては、「 ベストプラクティスの構築」を参照してください。