こんにちは。日本ヒューレット・パッカードのオープンソース・Linuxテクノロジーエバンジェリストの古賀政純です。前回の記事では、HPEの開発部門が注目したDockerイメージのサイズなどについて簡単にご紹介しました。今回は、Dockerイメージの管理手法についてご紹介します。
Dockerプライベート・レジストリの採用
複数の開発チームが協調して開発を行う場合、大量に存在するDockerイメージを共有する仕組みは、どのように実現するのでしょうか。HPEの開発部門が利用するDockerイメージは、非常に多岐にわたりますが、HPEでは、大量のDockerイメージを中央集権的に管理する保管庫(レジストリと呼ばれます)を用意しています。
このDockerイメージの保管庫は、セキュリティ上の理由から、社外と隔離し、Dockerプライベート・レジストリとして利用されています。パブリックではなく、プライベート、すなわち社内用のDockerイメージの保管庫ですので、インターネットへのアクセスが許されない開発部門でも、社内用のDockerイメージの保管庫からDockerイメージを入手し、Dockerコンテナによるアプリケーション開発ができます。

Dockerプライベート・レジストリ
企業における情報セキュリティを考慮したDockerイメージの保管庫
重要なソフトウェアコンポーネントは、セキュリティ機能を高めたDockerイメージの保管庫であるDockerトラステッド・レジストリ(Docker Trusted Registry、通称、DTR)を使います。DTRは、商用版のDockerエンジン(Docker Enterprise Edition Advanced、通称、Docker EE Advanced)で稼働します。
DTRを使用すると、セキュアなDockerイメージの保管庫を構築できます。開発部門では、開発メンバーの開発者個人のDockerイメージへのアクセス権限やグループ管理、DTRへのDockerイメージの登録や配布の可否設定、Dockerイメージの脆弱性チェックなどが必要です。そのため、セキュリティ面での詳細な設定が可能なDTRが必要になるわけです。
商用版のDockerエンジンであるDocker EE Advancedは、Docker社純正のソフトウェアであり、Docker社のサポートが受けられます。Docker EE Advancedは、システムの負荷状況を確認できるダッシュボードや、ユーザー管理、コンテナの起動、停止、Dockerイメージの脆弱性チェックなどができる多機能なGUI画面を提供します。Docker EE Advancedは、外部から入手したDockerイメージをスキャンし、セキュリティの脆弱性チェックを行うことが可能です。脆弱性チェックで問題があるDockerイメージは、適宜、脆弱性がないソフトウェアに差し替えてDockerイメージを作成し、DTRに登録するといった運用を行います。

Docker EE Advancedが提供するダッシュボード画面

Docker EE Advancedが提供するDockerイメージの脆弱性チェックの画面
ちなみに、HPEは、Docker社と協力し、「Docker EE Advanced」をOEM製品として日本国内でも提供しています。
●Docker社純正製品「Docker Enterprise Edition Advanced」の情報源