LM Studio をdockerで動かした | slidict.io

JA | EN

LM Studio をdockerで動かした

yubele
yubele
フォロワー 0人
最終更新: 2026/03/31
読む時間: 01:28

共有

コード

  • LM StudioをDockerで動かし、軽量用途の課金を回避するローカルAPI設計
  • 目的: 社内検証のコストを抑えつつ再現性を確保する構成と運用の説明

’’’

  • 軽量な社内利用・検証用途では SaaS LLM の従量課金が過剰になる
  • ローカルLLMをAPI化して、コスト上限を物理リソースで制御したい
  • 個人・小規模チームでも再現可能な構成を優先する必要がある
  • 解決方針は「LM StudioをDocker上でAPI化して、課金を抑える設計を採用すること」

’’’

  • ベースOSは ubuntu:24.04 を採用。LM Studio公式インストーラ前提のglibc環境を活用
  • GUIは使わず、Electron系依存(GTK / X11)を明示的にインストールして依存解決を回避
  • LM Studioは install.sh 経由で導入。公式手順を踏み、将来のアップデート追従を容易に
  • APIポートは 1234 を公開。OpenAI互換APIとしてアプリ側の差し替えを容易に
  • モデルは google/gemma-3-4b をデフォルト指定。過度な高性能より「使いすぎない制御」を重視
  • 環境設計はCPU/GPU・メモリ・同時実行数で自然に利用制限がかかるようにする

’’’

  • 課金を避けたい用途にはローカルLLMを選択。コストは物理リソースで管理する
  • API公開を前提とした設計で、後の運用でAPIゲートウェイ等の制限を付けやすくする
  • 起動・運用の柔軟性を高めるため、起動処理を Dockerfile から分離する entrypoint を採用
  • 今後の検討領域
    ** GPU活用(–gpus all)の有無
    ** モデルキャッシュの volume化
    ** リクエスト数・並列数の制限設計
  • 次のアクションとして、環境変数でモデル切替を可能にする、context length/threadsの調整、軽量モデルの比較検証を検討

’’’

  • 解決策の核
    ** ubuntu:24.04 ベースで、公式インストール手順に沿って LM Studio を導入
    ** GUIは不要、依存は最小化して必要なライブラリだけをインストール
    ** LM Studioを API ポート 1234 で公開して、OpenAI互換APIとして扱える設計
    ** デフォルトモデルは google/gemma-3-4b、コストを抑えつつ現実的な性能を確保
    ** エントリポイントを分離して起動オプションの変更をDockerfileから切り離し、将来のアップデート追従を容易に
  • 実装イメージ(核心点)
    ** ベース: ubuntu:24.04
    ** GUI依存を明示的にインストールしつつGUIは使わない設計
    ** install.sh 経由で LM Studio 導入
    ** PATHとLMSTUDIO_DEFAULT_MODELの設定
    ** EXPOSE 1234、entrypoint.sh を用いた起動
  • 実際のコード構成は以下のDockerfileが最小構成として機能する

このDockerfileは LM StudioをDocker上で動かし、ローカルLLMをAPIとして提供するための最小構成。

FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && +
apt-get install -y –no-install-recommends +
bash +
ca-certificates +
curl +
libasound2t64 +
libatomic1 +
libatk-bridge2.0-0 +
libatk1.0-0 +
libc6 +
libcairo2 +
libcups2 +
libdbus-1-3 +
libdrm2 +
libgbm1 +
libglib2.0-0 +
libgtk-3-0 +
libnspr4 +
libnss3 +
libpango-1.0-0 +
libx11-6 +
libx11-xcb1 +
libxcb-dri3-0 +
libxcomposite1 +
libxdamage1 +
libxext6 +
libxfixes3 +
libxkbcommon0 +
libxrandr2 +
libgomp1 +
libxshmfence1 +
xdg-utils && +
rm -rf /var/lib/apt/lists/*

[cols=2*]
|===
| RUN curl -fsSL https://lmstudio.ai/install.sh
| bash
|===

ENV PATH=/root/.lmstudio/bin:$PATH
ENV LMSTUDIO_DEFAULT_MODEL=google/gemma-3-4b

EXPOSE 1234

COPY docker/lmstudio/entrypoint.sh /usr/local/bin/lmstudio-entrypoint.sh
RUN chmod +x /usr/local/bin/lmstudio-entrypoint.sh

このDockerfileは LM StudioをDocker上で動かし、ローカルLLMをAPIとして提供するための最小構成。

構成の観点

  • ベースは ubuntu:24.04 +
    → LM Studio公式インストーラが前提としているglibc環境に合わせるため
  • GUI不要だが、Electron系依存ライブラリ(GTK, X11系)を明示的にインストール +
    lmstudio バイナリ起動時の依存解決用
  • install.sh を使って公式手順どおりにLM Studioを導入 +
    → 将来のアップデート追従を優先

判断基準

  • 課金を避けたい用途(軽量な社内AI、検証用API)なのでローカルLLMを採用
  • モデルは google/gemma-3-4b をデフォルト指定 +
    → メモリ消費と性能のバランス重視
  • APIポートは 1234 を公開 +
    → LM Studioの標準API互換

運用上のポイント

  • 実際の起動処理は entrypoint.sh に切り出し +
    → モデル切替やオプション変更をDockerfileに書かずに済む
  • 本番用途では
    ** GPU対応(--gpus all
    ** モデルキャッシュのvolume化
    ** 利用制限(リクエスト数・並列数)
    を検討余地あり

次に試すこと

  • LMSTUDIO_DEFAULT_MODEL を環境変数で切替可能にする
  • --context-length--threads の明示指定
  • 軽量モデル(Phi / Qwen)との比較検証

’’’

Background

スライド作成を
無料で始める

AIがあなたのスライドを自動生成。無料で、すぐに体験できます。

LM Studio をdockerで動かしたのサムネイル(1ページ目)

# LM Studio をdockerで動かした - LM StudioをDockerで動かし、軽量用途の課金を回避するローカルAPI設計 - 目的: 社内検証のコストを抑えつつ再現性を確保する構成と運用の説明 --- ## 起: 問題提起 - 軽量な社内利用・検証用途では SaaS LLM の従量課金が過剰になる - ローカルLLMをAPI化して、コスト上限を物理リソースで制御したい - 個人・小規模チームでも再現可能な構...

インタラクティブなスライドプレイヤーを利用するにはJavaScriptを有効にしてください。

1 / 9