このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:Docker ComposeでAlpineコンテナを構築する方法

🏔 Docker ComposeでAlpineコンテナを構築する方法

ここでは、Docker Composeコマンド を使って Alpine Linuxコンテナ を構築する方法を紹介します。
Alpine Linuxは非常に軽量で、Dockerの世界では“最小構成のベースイメージ”として知られています。
たった数MBのサイズで動作するため、検証環境やちょっとしたコマンド実行に最適です。

ここで学ぶ内容

💡 Alpine Linuxとは?

 Alpine Linux(アルパイン・リナックス) は、セキュリティと軽量性を重視して設計されたLinuxディストリビューションです。
BusyBoxmusl libc を採用しており、シンプルかつ高速に動作します。
 この特徴により、Dockerの公式イメージとしても多くのアプリケーションがAlpineベースで提供されています。

URL:https://alpinelinux.org/

項目説明
提供元Alpine Linux Community
ベース独自軽量設計(BusyBox + musl)
特徴超軽量・高セキュリティ・高速起動
イメージサイズ約5MB〜10MB(非常に小さい!)
主な用途Dockerベースイメージ・検証環境
公式サイトhttps://alpinelinux.org/

💬 ポイント
Alpineは「軽くて速い」を追求したLinux。
ちょっとしたLinux操作やテスト環境を用意したいときにピッタリです。

🧩 Alpineコンテナは「ちょっと試したい」に最適!

「Linuxのコマンドを確認したい」「シェルスクリプトを動かしてみたい」
そんなときに、Alpineコンテナが大活躍します。

理由説明
軽量起動が数秒、容量もほとんど消費しない。
シンプル余計なパッケージが入っていないので分かりやすい。
柔軟apkコマンドで必要なツールだけインストール可能
安全コンテナなので破壊してもすぐ再構築できる。

🧠 覚えておこう!
Alpineは“BusyBox”ベースなので、標準コマンドが少し省略されています。
ただし、必要なツールは apk add ですぐ追加できます。

🧹 作業前のクリーンアップ

まず、Docker環境をクリーンにしておきましょう。
古いコンテナやイメージが残っていると、挙動がわかりにくくなることがあります。

コマンド書式

docker system prune -a --volumes
オプション説明
-a未使用のイメージをすべて削除
--volumes未使用のボリュームを削除

実行時に「Are you sure you want to continue? [y/N]」と出たら、y を入力してOK!
これでDockerの環境がスッキリします。

実行結果

PS C:\Users\joeac> docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all anonymous volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

💬 補足
コマンド操作に不安がある場合は、Docker DesktopのGUI画面から削除しても問題ありません。

📁 compose.yamlファイルの作成

次に、AlpineコンテナをDocker Composeで定義 していきましょう。

1.作業ディレクトリを作る

cd desktop/docker
mkdir alpine
cd alpine

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir alpine

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/13    23:34                alpine

PS C:\Users\joeac\Desktop\docker> cd alpine
PS C:\Users\joeac\Desktop\docker\alpine>

2.VS Codeを起動

code compose.yaml

VS Codeが起動したら、以下の内容を入力して保存します👇

🧾 compose.yamlの内容

services:
  alpine:
    image: alpine:latest
    container_name: alpine_container
    tty: true
フィールド説明
servicesコンテナサービス定義の開始
alpineサービス名(任意)
image使用するDockerイメージ。ここでは alpine:latest
container_nameコンテナ名(ここでは alpine_container)
tty仮想端末を割り当ててコンテナを維持する設定

💡 ポイント
tty: true を指定すると、コンテナが自動停止せず、対話的な操作ができる状態になります。
これがないと、起動後にすぐコンテナが終了してしまうことがあります。

🚀 コンテナの作成と起動

compose.yamlを保存したら、いよいよAlpineコンテナを起動してみましょう。

コマンド書式

docker compose up -d
オプション説明
upcompose.yamlの内容をもとにコンテナを起動
-dデタッチドモード(バックグラウンド実行)で起動

実行結果

PS C:\Users\joeac\Desktop\docker\alpine> docker compose up -d
[+] Running 2/2
 ✔ alpine Pulled                                                      4.0s
   ✔ 2d35ebdb57d9 Pull complete                                       0.9s
[+] Running 2/2
 ✔ Network alpine_default      Created                                0.1s
 ✔ Container alpine_container  Starte...                              0.5s
PS C:\Users\joeac\Desktop\docker\alpine>

Container alpine_container Started と表示されれば成功です✨
Docker Desktopでも、Alpineコンテナが「Running」状態で表示されているはずです。

💻 Alpineコンテナに接続してみよう

起動したコンテナに入って、ファイル構成を確認してみましょう。

コマンド書式

docker compose exec [options] [service] [command]
引数内容
options追加オプション(例:-uでユーザー指定)
servicecompose.yamlで指定したサービス名(今回は alpine
commandコンテナ内で実行するコマンド

例:ディレクトリ一覧を表示

docker compose exec alpine ls

実行結果

PS C:\Users\joeac\Desktop\docker\alpine> docker compose exec alpine ls
bin    etc    lib    mnt    proc   run    srv    tmp    var
dev    home   media  opt    root   sbin   sys    usr

これでAlpineコンテナの中身が確認できました!
軽量な構成であることがよく分かりますね。

🧠 まとめ

Docker Composeを使えば、たった数行で軽量なAlpineコンテナを構築できます。
学習用や一時的なLinux操作、動作検証など、幅広い用途に使えます。

ステップ内容
1️⃣docker system prune -a --volumes で環境を整理
2️⃣compose.yaml に alpine:latest を指定
3️⃣docker compose up -d で起動
4️⃣docker compose exec alpine sh で接続

💬 最後にひとこと
Alpineは“軽さとスピード”が魅力。
ちょっとしたテストや検証をサクッとやりたいときに最強の相棒になります!