Dockerは、Linuxカーネルのコンテナ技術をベースにDocker社が開発した仮想化技術で、単一OS上に複数の分離された仮想的なユーザ空間 (コンテナ) を提供する。
シンプルで軽量な仮想環境を実現するDockerは、コンテナの迅速な起動や、アプリケーションと実行環境(ランタイム)を容易にパッケージングでき、Docker Engineが動く環境であればどこでも移動可能なため、一貫性のあるデプロイメント環境と効率的な運用管理を実現するという。その特長から、主に大規模開発における継続的インテグレーションや、マイクロサービスアーキテクチャをベースとした開発に利用されている。
VA Linuxはこれまで、会社設立のルーツともなったLinuxカーネルの開発から始まり、OSSの動向と企業のニーズを熟考し、仮想化技術やクラウド基盤関連のOSSの開発や技術支援へとサービスの幅を広げてきた。昨今のデジタルビジネスの普及に伴い、企業のニーズの多様化と変化は大きくなり、IT環境への柔軟性とスピード感をより求められる中で、Dockerのサポートに関する要望も数多く寄せられるようになったという。
VA Linuxは、コンテナ技術の市場性とニーズから、Dockerを重要なプラットフォームの1つと位置付け、Dockerに関する障害事例とその解決方法などを検証し、Linuxカーネルでのサポート実績を基に、Docker環境で利用される関連OSSも包括的にサポートできると考え、「Linux/OSS プロフェッショナルサービス」の対象OSSにDockerを加えることにしたという。
検証の結果、発生する可能性がある障害とその調査手法について、次のような事例が挙げられるという。
■障害事例
- Docker Engineのアップグレードを行ったところ、既存のコンテナが動かない。
■VA Linuxへの要求レベルと調査手法・結果
- 本番環境への適用のため、原因の調査および解決策を提示した。
- ログ解析調査を行い、Docker デーモンの起動に失敗していることが分かった。
- SELinuxのログaudit.logを調査した結果、SELinuxポリシー違反が原因であることが判明した。
- Docker Engineのメジャーアップデートにより、SELinuxポリシー定義が不足しているというパッケージの不具合であると思われることから、SELinux追加ポリシーの定義を行った。