Ubuntuしたい(ubuntu

# filename: compose.yaml
services:
  ubuntu:
    image: ubuntu:24.10
    container_name: my-ubuntu
    tty: true
    stdin_open: true
    command: /bin/bash
// コンテナーを起動
$ docker compose up -d
// コンテナーにログイン
$ docker compose exec ubuntu bash
root#
// コンテナーを終了
$ docker compose down

Ubuntuのコンテナーを使ってデバッグやテスト、開発環境の構築ができます。 上記のサンプルのように tty: truestdin_open: trueを指定しておくと docker compose up -dするだけで対話的にシェルを操作できます。

パッケージをインストールしたい

// コンテナーを起動
$ docker compose up -d

// コンテナーにログイン
$ docker compose exec ubuntu bash

// パッケージリストを更新
root# apt update

// パッケージをアップグレード
root# apt upgrade -y

// 必要なパッケージをインストール(例:curl, git)
root# apt install -y curl git build-essential

// インストールを確認
root# curl --version
root# git --version

Ubuntuコンテナーにaptを使ってツールやライブラリをインストールできます。

開発環境として使いたい

Python、Node.jsなどの開発環境をセットアップ:

services:
  dev-ubuntu:
    image: ubuntu:24.04
    container_name: my-dev-env
    tty: true
    stdin_open: true
    volumes:
      - ./project:/workspace
    working_dir: /workspace
    command: /bin/bash
$ docker compose up -d

$ docker compose exec dev-ubuntu bash

// Python 開発環境のセットアップ
root# apt update && apt install -y python3 python3-pip
root# python3 --version

// Node.js 開発環境のセットアップ
root# apt install -y nodejs npm
root# node --version

// プロジェクトディレクトリで作業
root# cd /workspace
root# ls -la

テスト環境として使いたい

services:
  ubuntu-focal:
    image: ubuntu:20.04
    container_name: test-focal
    tty: true
    stdin_open: true
    command: /bin/bash

  ubuntu-jammy:
    image: ubuntu:22.04
    container_name: test-jammy
    tty: true
    stdin_open: true
    command: /bin/bash

  ubuntu-noble:
    image: ubuntu:24.04
    container_name: test-noble
    tty: true
    stdin_open: true
    command: /bin/bash

compose.yamlに複数のUbuntuバージョンを定義し 一括で起動し、それぞれのバージョンでアプリケーションのテストを実行するサンプルです。

$ docker compose up -d

$ docker compose exec ubuntu-focal bash
root# apt update
root# apt install -y your-package
root# your-test-command

// 別ターミナルで他のバージョンもテスト
$ docker compose exec ubuntu-jammy bash
$ docker compose exec ubuntu-noble bash

Ubuntuのバージョンについて

バージョン

コードネーム

リリース日

サポート終了

20.04 LTS

Focal Fossa

2020年4月

2025年5月

22.04 LTS

Jammy Jellyfish

2022年4月

2027年4月

24.04 LTS

Noble Numbat

2024年4月

2029年4月

24.10

Oracular Oriole

2024年10月

2025年7月

25.04

Plucky Puffin

2025年4月

2026年1月

25.10

Questing Quokka

2025年10月

2026年7月

LTS(Long Term Support) バージョンは5年の標準サポート + 5年のESM(Extended Security Maintenance)が提供されます。

暫定版(24.10、25.04など)は9か月間のサポートのみのため、開発・テスト環境での使用に限定し、本番環境では、最新のLTS版であるUbuntu 24.04 LTSの使用をオススメします。

Ubuntuの特徴

メリット

  • 最新のツールチェーン モダンな開発環境を求めるプロジェクトに最適。Python、Node.js、Rustなど最新バージョンが利用可能

  • 豊富なパッケージエコシステム aptでインストール可能なパッケージが充実。開発ツール、ライブラリが豊富

  • 広いコミュニティサポート ドキュメントやStack Overflowでの情報が豊富。問題解決のリソースが多い

  • デスクトップ~サーバーまで広い利用 開発環境とサーバーで同じOSを使うことで、環境差を最小化できる

デメリット

  • 長期サポート版でも5年(10年のESM含めると長い) 超長期的な安定性を求める場合はサポート期間が短い

  • パッケージ更新が頻繁 セキュリティアップデートが多く、頻繁な更新管理が必要

最適な用途

  • 最新の技術スタックを使いたい開発プロジェクト

  • 開発環境とサーバー環境を統一したい場合

  • インターネットサービスなど、新しい技術を採用するシステム

  • スタートアップやアジャイル開発

リファレンス