Dockerとは?テスト環境を高速で準備できる強力なツール

Dockerとは?

Dockerは、アプリケーションを「コンテナ」という軽量な仮想環境にパッケージ化して実行するためのプラットフォームです。

仮想マシン(VM)との違い

VM Docker
起動時間 数分 数秒
リソース消費 重い(OSごと動く) 軽い(OSカーネルを共有)
環境の再現性
配布のしやすさ

Linux・WAS・DB2のテスト環境構築に優れているか?

結論:優れている部分と注意点があります。

✅ 優れている点

  • Linux環境:Docker自体がLinuxベースなので、Ubuntuなど様々なディストリビューションをコマンド一発で起動できます
  • DB2:IBM公式イメージがDocker Hubに存在するため、比較的簡単に構築可能です
  • WAS(WebSphere Application Server):IBM公式のDockerイメージあり。ただしライセンスが必要な場合があります
  • 複数環境の同時起動:docker-composeを使えばLinux+WAS+DB2をまとめて一括起動できます

⚠️ 注意点

  • WAS・DB2は商用製品なので、開発者向けライセンスの確認が必要
  • DB2はイメージが重め(数GB)で、初回ダウンロードに時間がかかります
  • macOS/WindowsではDocker Desktop経由の動作になり、パフォーマンスがネイティブLinuxより若干落ちます

テスト環境を他のSEに丸ごと渡せる!

Dockerの大きなメリットの一つが、環境をそのまま他の人に渡せることです。

方法① Dockerイメージをファイルとして渡す(オフライン)

# 渡す側:イメージをファイルに書き出す
docker save -o my-env.tar my-app:latest

# 受け取る側:ファイルからイメージを読み込む
docker load -i my-env.tar

USBやファイルサーバー経由でファイルを渡すだけです。

方法② docker-compose.yml を共有する(推奨)

受け取った側は以下を実行するだけで、WAS・DB2・Webアプリが全部自動で立ち上がります。

docker-compose up

方法③ Docker Hub(プライベートリポジトリ)経由

社内ネットワーク上にレジストリを立てて、イメージをpush/pullで共有する方法です。大人数で共有する場合に向いています。

受け取る側の必要条件

条件 内容
必須 Docker Desktop(またはDocker Engine)のインストール
WAS・DB2の場合 IBMライセンスへの同意(開発用は無料の場合あり)
推奨 docker-composeのインストール

docker-composeの役割

一言で言うと:「複数のコンテナをまとめて管理するツール」です。

なぜ必要か?

Dockerは基本的に1コンテナ=1サービスという考え方です。WASコンテナ・DB2コンテナ・Webアプリコンテナをバラバラに管理するのは大変です。起動順序・ネットワーク接続・設定を全部手動でやる必要があります。

docker-composeが解決すること

① 一括起動・停止

docker-compose up    # WAS+DB2+Webアプリを全部同時起動
docker-compose down  # 全部まとめて停止・削除

② コンテナ間のネットワークを自動設定

Webアプリ → WAS → DB2 の接続関係をymlに書くだけで、自動でつなげてくれます。

③ 設定を1ファイルで管理(docker-compose.yml例)

version: '3'
services:

  db2:                          # DB2コンテナ
    image: ibmcom/db2
    environment:
      - LICENSE=accept
      - DB2INST1_PASSWORD=pass
    ports:
      - "50000:50000"

  was:                          # WASコンテナ
    image: ibmcom/websphere-traditional
    depends_on:
      - db2                     # DB2が起動してからWASを起動
    ports:
      - "9080:9080"

  webapp:                       # Webアプリコンテナ
    build: ./app
    depends_on:
      - was                     # WASが起動してからWebアプリを起動
    ports:
      - "8080:8080"

主なコマンド一覧

コマンド 内容
docker-compose up 全コンテナ起動
docker-compose up -d バックグラウンドで起動
docker-compose down 全コンテナ停止&削除
docker-compose ps 稼働中コンテナの確認
docker-compose logs ログの確認
docker-compose restart 再起動

まとめ

  • Dockerは軽量・高速なコンテナ型仮想環境で、VMより圧倒的に手軽
  • Linux・WAS・DB2のテスト環境をコマンド1つで構築できる
  • 環境をそのまま他のSEに渡せるので、「自分のPCでは動くのに…」問題が解消
  • docker-composeを使えば複数コンテナの起動順序・接続・設定を一元管理できる

テスト環境の準備に時間をかけるのではなく、本来の開発・テスト作業に集中できるのがDockerの最大の価値です。

コメントを残す