永続化のためのDockerボリューム
Dockerボリュームを使って、コンテナ化したアプリケーションの永続データを保存・管理します。
「永続化のためのDockerボリューム」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
永続データが必要な理由
コンテナは軽量で一時的なものとして設計されています。コンテナを削除すると、書き込み可能なレイヤー内に保存されていたデータはすべて永久に失われます。
しかし、データベースやユーザーファイルなど、アプリケーションで重要な情報を保存する必要がある場合はどうでしょうか。そこでデータの永続化が必要になります。

Docker Volumesの概要
Docker Volumesは、Dockerでアプリケーションデータを永続的に保存するための最適な方法です。コンテナ内に直接保存するデータとは異なり、ボリュームはDockerによって管理され、特定のコンテナから独立して存在します。
- Dockerが管理するホストファイルシステムの一部に保存されます。
- I/Oパフォーマンスに最適化されています。
- バックアップや移行が簡単です。
最初のボリュームを作成する
名前付きボリュームを作成しましょう。名前付きボリュームはシンプルです。名前を付けるだけで、あとは Docker が処理します。
docker volume create コマンドの後に、任意のボリューム名を指定してください。
docker volume create my_data_volumeボリュームを一覧表示する
ボリュームを作成すると、システム上に存在するすべての Docker ボリュームの一覧で確認できます。
docker volume ls コマンドを使って一覧を表示してください。
docker volume lsコンテナでボリュームを使用する
次に、コンテナを実行し、新しく作成したボリュームを接続しましょう。これには -v フラグを使用します。
形式は -v volume_name:container_path です。これにより、my_data_volume が nginx コンテナ内の /app/data にマウントされます。
docker run -d --name my_app_with_volume -v my_data_volume:/app/data nginxボリュームにデータを保存する
実行中のコンテナ内から、マウントしたボリュームにデータを書き込みましょう。docker exec を使って、コンテナ内でコマンドを実行します。
データはコンテナ内の /app/data/message.txt に保存されますが、実際には my_data_volume に保存されています。
docker exec my_app_with_volume sh -c "echo 'Hello from CoddyKit!' > /app/data/message.txt"コンテナを削除してもデータは残る
ボリュームの大きな利点は、データが永続化されることです。実際に確認してみましょう。
まず、コンテナを停止して削除します。その後、*同じ*ボリュームを接続した*新しい*コンテナを実行し、書き込んだデータを読み取ります。
docker stop my_app_with_volume
docker rm my_app_with_volume
docker run --rm -it -v my_data_volume:/app/data alpine sh -c "cat /app/data/message.txt"ボリュームの詳細を確認する
docker volume inspect コマンドを使うと、ボリュームの詳細情報を取得できます。ボリュームの名前やドライバー、そして重要な情報であるホストのファイルシステム上のマウントポイントが表示されます。
docker volume inspect my_data_volumeボリュームをクリーンアップする
ボリュームはコンテナとは独立して存在することを覚えておいてください。ボリュームが不要になった場合は、明示的に削除する必要があります。
docker volume rm を使用してください。データが完全に削除されるため、注意が必要です。
docker volume rm my_data_volumeボリュームのクイックチェック
Docker ボリュームの理解度を確認するため、簡単な問題に挑戦しましょう。
ボリューム:永続データの鍵
よくできました。Docker ボリュームが永続データの保存に強力なソリューションを提供することを学びました。
- コンテナを削除しても、ボリュームによってデータが安全に保持されます。
- Docker によって管理されるため、パフォーマンスと可搬性に優れています。
- 簡単なコマンドで作成、一覧表示、確認、削除ができます。
次は、データを管理する別の方法である バインドマウントについて、異なる用途も含めて学びます。
よくある質問
「永続化のためのDockerボリューム」レッスンは無料ですか?
はい。「永続化のためのDockerボリューム」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「永続化のためのDockerボリューム」で何を学びますか?
Dockerボリュームを使って、コンテナ化したアプリケーションの永続データを保存・管理します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「永続化のためのDockerボリューム」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- コンテナネットワークの基礎
- 永続化のためのDockerボリューム
- バインドマウントとtmpfsマウント
- カスタムブリッジネットワークとサービスディスカバリ