- 03-5820-1777平日10:00〜18:00
- お問い合わせ
今回はある案件でのDocker使用事例を簡単に紹介しようと思います。
問題点
Webシステムのテスト環境、本番環境が同一のマシンに存在していた。
ディレクトリ、Webパス、DB名等をテスト用、本番用に用意し切り分けて使用していた為、
次の様な問題が起こった。
・テスト環境用のディレクトリにリソース配備する際、誤って本番環境のディレクトリに配備。
・設定ファイルの記述ミスで本番環境のDBにアクセス。
・Webサーバ、DBサーバの再起動などが必要な場合、両方の環境に影響を与えてしまう。
サーバの環境イメージ
1つのWebサーバに2つのWebシステム、1つのDBサーバに2つのDBを作成し運用しています。
Webシステムへの接続はパスをそれぞれ分けて設定しています。
解決策
本番用環境、テスト用環境をDockerイメージとして定義し、それぞれ独立した環境を作る事により、
本番環境、テスト環境とも相互に影響を与えないような構造にし、設定ミス、運用ミスを減らせる
ようにする事を考えました。
運用イメージ
Dockerコンテナを3つ用意し、それぞれの用途と説明は以下の表の様にしました。
コンテナ | 用途 | スペック | 他のコンテナとの併用 |
---|---|---|---|
本番用コンテナ | 本番環境を当該コンテナに作成します。 | 80%程度 | 通常テストコンテナとの併用可 |
通常テストコンテナ | 機能面でのテスト用のコンテナで、通常のテストはこのコンテナで行います。 | 10%程度 動作する最低スペック | 本番用コンテナとの併用可 本番を動作させながらテストが可能 |
性能テストコンテナ | 速度などの性能テスト用のコンテナで、本番環境と同じスペックを使用します。 | 80%程度 本番環境と同一スペック | 本番用コンテナとの併用は不可 当該コンテナ使用時は基本的には他の2つのコンテナは停止中にする |
以上、Dockerの使用事例を紹介しました。
今回の事例は本番環境とテスト環境が同一マシンという特殊な環境でしたが、Dockerを使用する事で特殊な環境にも
対応する事が出来ました。
マイクロサービスとして使用する際のDockerは中々良い事例がありませんが、環境面での使用はかなり便利だと思います。
今度はマイクロサービスとしての良い方法も模索していきたいと思います。