私はDockerのユースケースについて友人と議論しています。チームの1人の男は、あらゆる種類のDockerを使用したいと考えています-ユニバーサルUNIXプロセスラッパーのようなもの。もう1人は、DockerはマイクロサービスやAWS Lambdaスタイルのアプリなどのステートレスアプリケーションにのみ使用すべきだと考えています。
両方の概念実証を設計しました。Dockerクラスターには、Dockerホストのマウント時にマウントされる共有ドライブがあり、コンテナー内のデータベースがマウントされている場合は、単に共有ドライブにボリュームをマウントします。
私の友人は、相反する証拠を見せられたにもかかわらず、彼の立場に固執しています。(彼はまた、Dockerがスタックに複雑さを追加することで不必要なリスクを追加すると主張しています。)
私は彼の視点を聞いて理解しようとしています。共感の行為だけでなく、彼とのより良い理由にも。(私たちは皆、非常にうまくやっています-それで、これはインジェストと真剣な議論の混合です)。
質問の背後にある質問の種類は次のとおりです。データベースは牛ですか?このコメントは、データベースの適切な自動化されたバックアップおよび取得戦略が、牛サーバーと見分けがつかないことを示唆しています。
私の質問は、Dockerをデータベースに使用すべきでない理由は何ですか?
編集: 人々は私の用語を明確にするように私に頼みました。データベースアプリケーションはコンテナにあり、ストレージはボリュームにあると想定していました。つまり、RDBMSはコンテナ内にあり、データベースストレージはボリューム内にあります。
一部のコメンテーターは、ドッカーボリュームドライバーがデータベースの書き込みでうまく機能しないことを示唆しています。(またはその効果をもたらすもの)。それについて詳しく説明していただけますか?