非ボリュームデータは、階層化されたオーバーレイファイルシステムに格納されます(ほとんどのディストリビューションでは、AUFSまたはDeviceMapperのファイルシステムになります)。原理は両方のケース(image source)に同じです。

はすでにコメントで述べたように、私は公式ドキュメントからセクション"Understand images, containers and storage drivers"を読んでお勧めすることができます。この答えは簡単な要約です。
各Dockerイメージは、ファイルシステムイメージの複数のレイヤーで構成されています。たとえば、Apache + PHPイメージは、(1)汎用Ubuntuベースレイヤー、(2)Apache HTTPサーバーがインストールされている追加レイヤー、(3)PHP-FPMおよび設定ファイル例)。
イメージから新しいコンテナを開始すると、コンテナごとの新しいレイヤが既存のイメージレイヤに追加されます。このレイヤーには、コンテナ自体(ボリューム以外のディレクトリ)に書き込まれたすべての変更が含まれます。あなたの具体的な質問については
:あなたはすべてのボリュームをマウントしていない場合は
、それはRAM内のコンテナファイルシステムのいずれか/いくつかの/ほとんど/すべてを保つでしょうか?
いいえ、通常のファイルシステムキャッシュ以外には何もありません。オーバレイファイルシステムにはすべて、AUFS、DeviceMapper、または別のストレージドライバを使用してマウントされています。
または、ディスクにいくらかの量を書き込んでいますか?つまり、この場合ボリュームと同じくらい遅いでしょうか?
一般に、ボリューム内のファイルシステムアクセスは、オーバーレイファイルシステムよりもパフォーマンスが優れています。結局のところ、ボリューム(少なくとも、ネットワークストレージボリュームを追加するボリュームドライバを除いて通常のホストベースのボリューム)は、レイヤファイルシステムを完全にバイパスして、ホストファイルシステムの通常のディレクトリへのバインドマウントです。ファイルシステムの層に比べてボリュームの性能はthis paperで調査(他のトピックの中)である:
AUFSは、I/Oは、いくつかの層を通過しているので、驚くべきことではない大きなオーバーヘッドを紹介し、[...] 。ファイルシステムまたはディスクを大量に使用するアプリケーションは、ボリュームを使用してAUFSをバイパスする必要があります。 [...]コンテナ自体にはオーバーヘッドはほとんどありませんが、Dockerにはパフォーマンスの問題がありません。 ドッカーボリュームのパフォーマンスは、AUFSに格納されているファイルよりもはるかに優れています()。
推奨読書:セクション「イメージ、コンテナ、およびストレージドライバを理解する」(https://docs.docker。com/engine/userguide/storagedriver/imagesandcontainers /)を参照してください。 – helmbert