docker container diff を使用した更新後のファイルシステム変更の検査
この最終ステップでは、docker container diff
コマンドを再度使用して、前のステップで行ったファイルシステムの変更を観察します。これにより、コンテナ内での操作がどのように書き込み可能レイヤーに反映されるかが明確に示されます。
前のステップでは、my-nginx-container
内で新しいファイル /tmp/my_new_file.txt
を作成し、/usr/share/nginx/html/index.html
ファイルを変更しました。ここで、再度 docker container diff
を実行してみましょう。
docker container diff my-nginx-container
今回の出力には、私たちが行った変更が含まれているはずです。以下のような行が表示されます:
A /tmp/my_new_file.txt
C /usr/share/nginx/html/index.html
A /tmp/my_new_file.txt
の行は、/tmp
ディレクトリに my_new_file.txt
という新しいファイルが追加されたことを示しています。
C /usr/share/nginx/html/index.html
の行は、/usr/share/nginx/html/
ディレクトリ内の index.html
ファイルが変更されたことを示しています。
この出力は、docker container diff
がコンテナ起動以降のファイルシステムへの変更を効果的に表示することを確認しています。これらの変更はコンテナの書き込み可能レイヤーに保存されており、ベースイメージレイヤーとは分離されています。これは Docker のレイヤードファイルシステムと、コンテナが状態を維持する方法の基本的な概念です。
コンテナを削除すると、この書き込み可能レイヤーも削除され、ボリュームやバインドマウント(別の実験で扱うトピック)を使用して永続化しない限り、コンテナ内で行ったすべての変更が失われます。
後片付けとして、コンテナを停止して削除できます:
docker stop my-nginx-container
docker rm my-nginx-container
これで docker container diff
の探求は完了です。コンテナ起動時の初期ファイルシステム変更を検査する方法と、実行中のコンテナ内で行った変更を確認する方法を学びました。