- 03-5820-1777平日10:00〜18:00
- お問い合わせ
今回はある案件でのDocker使用事例を簡単に紹介しようと思います。
問題点
当該システムは多数のサーバ/サービスが混在しており、更新も頻繁に行われる状態であった。
開発者は実行テストを行うのに、少ないテスト環境を順番に使って行くか、独自に構築する必要があった。
順番待ち、構築に時間がかかりそのコストが問題となっていた。
加えて構築した際は実際の実行環境と相違があり、本番では動作しなくなるなどの問題も起きていた。
他の開発者が使用しているので使用できない!
独自に環境作っても完全に同じでないパターンが多い!
解決策
各サーバーの環境をdockerのイメージとして管理して、dockerファイルで実行環境を定義しておく。
dockerイメージは運用管理者が作成し、登録も行う。
開発者はdockerイメージを取得しローカルPC上で動作させ開発を行う。
開発者はイメージの取得のみ行い、登録、更新は行わない。
以上により開発者は環境セットアップなどをせずに最適な環境での開発が可能にする。
運用イメージ
① 運用管理者はプログラムソースを取得&ビルド後、Dockerコンテナ上に配置しイメージを作成
② 運用管理者は作成したイメージをプライベート内に作成したDocker Registryに登録
③ 運用管理者は実行環境作成用のdocker-compose.ymlを作成しGitに保管
④ 開発者AはGitからdocker-compose.ymlを取得
⑤ 開発者Aは取得したdocker-compose.ymlでコンテナを取得、作成(DockerHubとプライベートRegistryから取得)
自動的にDocker上に実行環境が構築されるので、開発環境からプログラムを適切なコンテナに移してテストを行う
開発者Bの方はDocker環境をローカルのPCではなく別のサーバにたてたパターンについて記述しました。
コンテナ作成、使用に関しては開発者Aと同様です。
以上、Dockerの使用例を簡単にまとめてみました。
もっと詳細に書こうとするとバージョン管理等、決め事は色々あったのですが大まかな利点を説明する為に省略します。
後日詳細は記述しようと思います。次回はプライベートのDockerRegistry構築方法について記述します。