サーバー、データベース、インフラに関するトピックス
■第23話:Docker Desktop無しでDocker環境を構築する方法
(最終更新日:2025.06.15)
(絵が小さい場合はスマホを横に)
「Docker Desktop無しでDocker環境を作ろう」
2021年以降、Docker Desktopは企業利用で有料化された。
コストやライセンスの観点から、WSL(Windows Subsystem for Linux)2上に直接Dockerをインストールして運用するケースが増えている。
本記事では、Docker Desktopを使わずに、WSL2(Ubuntu)上にDocker + Compose v2環境を構築する手順を紹介する。
1.前提条件の確認
前提条件として、WSL2が正しくインストールされていることが必要だ。 WSL2が未導入の方は、以下のMicrosoft公式サイトの手順(https://learn.microsoft.com/ja-jp/windows/wsl/install)に従って、まずは導入してほしい。
- Windows11がインストールされている
- WSL2が有効化されている
- Ubuntu22.04LTSか24.04LTSがWSL上にインストールされている
- インターネット環境に接続されている
2.WSL2上にDockerをインストールする
まず、依存パッケージのインストールを行う。 これにより、 Docker公式サイトからパッケージを安全にダウンロードできるようになる。 lsb-releaseでは、Ubuntuのバージョンに合った情報を取得している。
依存パッケージのインストール
次に公式GPG鍵とリポジトリの追加を行う。GPC鍵はリポジトリの署名検証に使われ、信頼されたDockerパッケージを使用することができる。 最近、セキュリティ強化のために必要になったものである。
Docker公式GPG鍵とリポジトリの追加
次に、docker-composeなど必要なツールをインストールする。これにより、dockerを快適に使用することができる。
Docker本体のインストール
最後に、dockerコマンドに現在のユーザーをグループに加え、sudo無しで実行できるようにする。
現ユーザーをグループに追加
以上のコマンドを順番に実行することで、Docker Desktop無しにWindowsでdockerを使うことができる。
3.docker-compose(v2)の使い方
Docker v2以降、docker compose(スペースあり)としてCompose機能が標準搭載されている。 古い docker-compose(ハイフンあり)は不要で、docker compose コマンドで全てを賄える。
docker-composeコマンド
4.Dockerデーモンを起動する方法
Ubuntu 22.04 以降のWSL環境では systemd がサポートされている。 systemdが有効なら、次のようにDockerを起動できる。
dockerを起動する2つのコマンド
そして、dockerが起動できていれば、docker runコマンドが上手く動くはずだ。 hello-worldを実行することで、以下のような返答があれば成功だ。
dockerの起動確認
これができたら、docker-compose.ymlファイルを用意して、docker composeコマンドが動くか確認しよう。 下記のファイルの場合、ブラウザで http://localhost:8080 にアクセスできれば成功だ。 下記のようなnginxのdocker-compose.ymlでなくとも、自前のファイルがあれば、それを実行して試してほしい。
docker composeの実行
5.まとめ
Docker Desktopを使わずにWSL2上に直接Docker環境を構築すれば、企業でもコストを抑えて運用できる。 そして、Compose v2は「docker compose」でシンプルに利用できる。 systemdが有効なWSL2環境であれば、起動管理も安定に行える。 今回紹介した構成は、軽量かつ柔軟なDocker環境で、ローカル開発環境としては非常に有用だ。 ぜひ、活用していこう。
▼参考図書、サイト
doceker
docker 公式サイト