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

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

🐧 Docker ComposeでUbuntuコンテナを構築する方法

 ここでは、Docker Compose を使って Ubuntuコンテナ を構築する方法をわかりやすく解説していきます。
 UbuntuはLinux学習にもピッタリの環境なので、Composeを使ってサクッと構築できるようになっておくととても便利ですよ!

ここで学ぶ内容

💡 Ubuntuとは?

まずはちょっとだけUbuntuのおさらいから。

 Ubuntu(ウブントゥ)は、Linuxディストリビューションの一つで、カノニカル社が開発・提供しています。
 使いやすいUIと安定性の高さで人気があり、サーバー用途からデスクトップまで幅広く使われています。

特徴内容
ベースDebianをベースに開発されている。
提供元カノニカル社(Canonical Ltd.)
リリース周期半年ごとに新バージョンを公開
主な用途デスクトップ、サーバー、クラウド環境など

🔗 公式サイト:https://jp.ubuntu.com/

🎓 Ubuntuコンテナは学習にも最適!

UbuntuはLinuxの操作を学ぶ環境としても非常に人気があります。
理由は次のとおりです👇

理由詳細
使いやすいコマンド体系がわかりやすく、初心者でも扱いやすい。
情報が豊富ドキュメントやチュートリアルが大量にある。
コミュニティ困ったときに助けてもらえるフォーラムやDiscordが活発
失敗しても安心コンテナなので壊してもすぐ作り直せる。

つまり、「気軽に試して学べるLinux」 なんです。
失敗しても docker compose down で削除 → up で再構築できるので安心です。

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

まずは、Docker環境をスッキリさせてから始めましょう。
古いコンテナやイメージが残っていると動作確認のときに混乱する原因になります。

コマンド書式

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

 このコマンドを実行すると、停止中のコンテナ・古いイメージ・未使用ネットワークが一気に削除されます。
削除前に Are you sure you want to continue? [y/N] と聞かれるので、y を入力して実行します。

実行結果

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オブジェクトが残っていれば、Docker Desktopを使ってGUIで削除しておきましょう。

💬 補足
コマンド操作に慣れていない場合は、Docker DesktopからGUIで削除してもOKです。
クリック操作で視覚的に削除できるのでわかりやすいですよ。

📁 compose.yamlファイルの作成

続いて、Ubuntuコンテナを作るための Composeファイル(compose.yaml) を作成します。

1.ディレクトリを作成して移動

cd desktop/docker
mkdir ubuntu
cd ubuntu

実行結果

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

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

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/12    23:23                ubuntu

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

これで C:\Users\<ユーザー名>\Desktop\docker\ubuntu に移動できました。

2.VS Codeを起動してファイルを作成

code compose.yaml

VSCodeが起動します。

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

🧾 compose.yaml の内容

services:
  ubuntu:
    image: ubuntu:latest
    container_name: ubuntu_container
    tty: true
フィールド説明
servicesComposeファイル内で定義するサービス(コンテナ)をまとめるセクション
ubuntuサービス名(コンテナ識別名)
image使用するDockerイメージ(ここではUbuntu 22.04)
container_name作成するコンテナの名前(ubuntu_container
tty仮想端末(TTY)を割り当てて、コンテナをフォアグラウンド実行状態に保つ設定

💡 ポイント
通常、プロセスが終了するとコンテナも停止してしまいます。
しかし tty: true を指定すると、常に端末が開かれた状態になるため、コンテナが落ちずに操作を続けられます。

🚀 コンテナを作成して実行

ファイルを保存したら、いよいよコンテナを起動します。

コマンド書式

docker compose up -d
オプション説明
upComposeファイルの内容に基づいてコンテナを作成・起動する。
-dデタッチドモード(バックグラウンド実行)

実行結果

PS C:\Users\joeac\Desktop\docker\ubuntu> docker compose up -d
[+] Running 2/2
 ✔ ubuntu Pulled                                                                                            6.8s
   ✔ 4b3ffd8ccb52 Pull complete                                                                             3.4s
[+] Running 2/2
 ✔ Network ubuntu_default      Created                                                                      0.1s
 ✔ Container ubuntu_container  Started                                                                      0.6s
PS C:\Users\joeac\Desktop\docker\ubuntu>

ubuntu_container Started と表示されたら、Ubuntuコンテナが正常に起動しています🎉

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

起動したコンテナに入るには、次のコマンドを使います👇

コマンド書式

docker compose exec [options] [service] [command]
引数説明
optionsオプション(例:-u でユーザー指定、-T でTTY無効)
service実行対象のサービス名(ここでは ubuntu
commandコンテナ内で実行するコマンド

例:Ubuntuのディレクトリ構成を確認

docker compose exec ubuntu ls

実行結果

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

このように表示されたら、Ubuntuコンテナのファイルシステムにアクセスできています。
まさに「自分だけのUbuntuマシン」が出来上がった感じですね!

🧠 まとめ

Docker Composeを使えば、ほんの数行のYAMLファイルでUbuntu環境を構築できます。
今回のポイントをおさらいしましょう👇

手順内容
1docker system prune -a --volumes で環境をクリーンに
2compose.yaml にUbuntuイメージを定義
3docker compose up -d で起動
4docker compose exec ubuntu bash で接続

 Composeを使うことで、設定ファイルひとつで再現性のあるUbuntu環境をいつでも立ち上げられます。
学習用・検証用のLinux環境をサクッと作りたいときは、この方法が一番スマートです!