Docker / Podman のインストール
macOS・Windows・Linux それぞれで Docker または Podman をインストールする手順をまとめます。選択肢と、それぞれのメリット・落とし穴を整理します。
そもそもどれを入れるか
選択肢は大きく分けて次の 5 系統です。
| 製品 | 対応 OS | 特徴 |
|---|---|---|
| Docker Desktop | macOS / Windows / Linux | もっとも情報量が多い。GUI 付き。商用ライセンスに注意(大企業は有償) |
| Colima | macOS / Linux | Lima ベースの軽量 Docker 環境。CLI のみ・OSS |
| OrbStack | macOS | 起動が速く省電力な Docker / Kubernetes 環境。個人無料・商用有償 |
| Podman Desktop | macOS / Windows / Linux | Podman 公式 GUI。daemonless / rootless |
| Rancher Desktop | macOS / Windows / Linux | containerd または dockerd を選べる。OSS |
「会社で無料かつ制約なく使いたい」なら Podman か Colima、「Docker の操作感に慣れていて GUI も欲しい」なら Docker Desktop か OrbStack、というのが目安です。
macOS: Docker Desktop / Colima / OrbStack / Podman
macOS はホストが Darwin なので、いずれの製品も裏で軽量 Linux VM を起動して、その中で Linux コンテナを動かします。
- Docker Desktop: 公式サイトから
.dmgをダウンロード、またはインストーラ経由 - Colima: Homebrew で
brew install colima docker docker-compose→colima start - OrbStack: 公式サイトから
.dmg。Docker CLI と Kubernetes が同梱 - Podman:
brew install podman→podman machine init && podman machine start
CPU は Apple Silicon (arm64) と Intel (amd64) で異なるため、x86_64 のイメージを Apple Silicon で動かすと QEMU エミュレーションになり遅い。
業務イメージは multi-arch でビルドしておくのが望ましいです。
# Colima 例
brew install colima docker docker-compose
colima start --cpu 4 --memory 8 --arch aarch64
docker run --rm hello-world
# Podman 例
brew install podman
podman machine init
podman machine start
podman run --rm hello-worldWindows: WSL2 + Docker Desktop / Rancher Desktop
Windows でも Linux コンテナを動かす場合は、WSL2(Windows Subsystem for Linux 2)を有効化し、その上で Docker や Podman を動かすのが現実解です。
- 管理者権限の PowerShell で
wsl --installを実行 - 再起動後、Ubuntu などのディストロをインストール
- Docker Desktop をインストールし、設定で「Use the WSL2 based engine」にチェック
Settings → Resources → WSL Integrationで使いたいディストロを ON にする
落とし穴: WSL2 上で開発する場合、ソースは \\wsl$\... 側(Linux ファイルシステム)に置くこと。
Windows 側 /mnt/c/... に置くと bind mount が遅く、inotify も安定しません。
# PowerShell (管理者)
wsl --install
wsl --set-default-version 2
# WSL2 の Ubuntu で確認
docker run --rm hello-worldLinux: docker-ce / podman をパッケージから入れる
Linux ホストなら VM を経由せず、そのままコンテナが動きます。
配布元は主に 2 つです。
- Docker: Docker 公式リポジトリの
docker-ceパッケージを推奨。ディストロ標準のdocker.ioは古いことが多い - Podman: Red Hat 系(Fedora / RHEL / Rocky)では標準パッケージ。Ubuntu でも
apt install podmanで入る
インストール後に 一般ユーザーで docker コマンドを使えるようにする には、ユーザーを docker グループに追加します。
ただしこの操作は実質的に root 権限を与えるのと等価なので、セキュリティが厳しい環境では Podman の rootless モードを検討してください。
# Ubuntu / Debian 向け Docker 公式リポジトリ追加の例
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 一般ユーザーを docker グループに追加(要再ログイン)
sudo usermod -aG docker $USER動作確認と最初のつまずきポイント
インストール後は次の 3 つを順に確認します。
docker version/podman versionでクライアントとサーバーの両方が表示されるdocker info/podman infoでストレージドライバ・ネットワーク・cgroups のバージョンを確認docker run --rm hello-world/podman run --rm hello-worldが成功する
よくあるつまずき:
permission denied while trying to connect to the Docker daemon socket:dockerグループ追加後に再ログインしていない。newgrp dockerか一度ログアウトCannot connect to the Docker daemon: デーモンが起動していない。Linux ならsudo systemctl start docker、Desktop なら GUI を起動no matching manifest for linux/arm64/v8: Apple Silicon で amd64 専用イメージを引いた。--platform linux/amd64を付けるか multi-arch 対応イメージを探す- 社内プロキシ環境で pull が止まる: Docker Desktop なら Settings → Resources → Proxies、Linux なら
/etc/systemd/system/docker.service.d/http-proxy.confを作成
