Docker-ストレージ
ストレージドライバー
Dockerには複数のストレージドライバーがあり、基盤となるストレージデバイスを操作できます。次の表に、さまざまなストレージドライバーと、ストレージドライバーに使用されるテクノロジを示します。
技術 | ストレージドライバー |
---|---|
OverlayFS | オーバーレイまたはoverlay2 |
AUFS | aufs |
Btrfs | brtfs |
デバイスマネージャ | デバイスマネージャ |
VFS | vfs |
ZFS | zfs |
ここで、さまざまなストレージドライバーを使用するいくつかのインスタンスについて説明します-
AUFS
これは安定したドライバーです。本番環境に対応したアプリケーションに使用できます。
メモリ使用量が多く、コンテナのDockerエクスペリエンスをスムーズにするのに適しています。
このドライバーに関連する書き込みの多いアクティビティがあり、これを考慮する必要があります。
Platform as aServiceタイプの作業であるシステムに適しています。
デバイスマッパー
これは安定したドライバーです。スムーズなDockerエクスペリエンスを保証します。
このドライバーは、ラボでアプリケーションをテストするのに適しています。
このドライバーは、Linuxカーネルの主な機能と一致しています。
Btrfs
このドライバーは、Linuxカーネルの主な機能と一致しています。
このドライバーに関連する書き込みの多いアクティビティがあり、これを考慮する必要があります。
このドライバーは、複数のビルドプールを維持する場合に適しています。
Ovelay
これは安定したドライバーであり、主なLinuxカーネル機能と一致しています。
それは良いメモリ使用量を持っています。
このドライバーは、ラボでアプリケーションをテストするのに適しています。
ZFS
これは安定したドライバーであり、ラボでアプリケーションをテストするのに適しています。
これは、Platform-as-a-Serviceタイプの作業であるシステムに適しています。
使用されているストレージドライバを確認するには、 docker info コマンド。
構文
docker info
オプション
なし
戻り値
このコマンドは、DockerホストにインストールされているDockerコンポーネントに関するすべての相対情報を提供します。
例
sudo docker info
出力
次の出力は、使用されるメインドライバーが aufs ドライバとルートディレクトリが保存されていること /var/lib/docker/aufs。
データ量
Dockerには、コンテナー間で共有できる個別のボリュームがあります。これらはとして知られていますdata volumes。データ量の特徴のいくつかは次のとおりです。
- これらは、コンテナの作成時に初期化されます。
- それらは、多くのコンテナ間で共有および再利用できます。
- ボリューム自体への変更は直接行うことができます。
- コンテナが削除された後も存在します。
Jenkinsコンテナを見てみましょう。やってみましょうdocker inspectこの画像の詳細を表示します。次のコマンドを発行して、の出力を書き込むことができます。docker inspect コマンドをテキストファイルに追加し、それに応じてファイルを表示します。
sudo docker inspect Jenkins > tmp.txt
を使用してテキストファイルを表示する場合 more command、次のようなエントリが表示されます JENKINS_HOME=/var/Jenkins_home。
これは、Jenkinsイメージを介してコンテナ内で行われるマッピングです。
ここで、コンテナー内のボリュームをローカルボリュームにマップしたいとします。次に、コンテナーを起動するときに–vオプションを指定する必要があります。例を以下に示します-
sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
–vオプションは、コンテナー内のボリュームをマップするために使用されます。 /var/jenkins_home Dockerホスト上の場所に /home/demo。
今、あなたが行くなら /home/demo コンテナを起動した後のDockerホスト上の場所に、そこに存在するすべてのコンテナファイルが表示されます。
コンテナのストレージドライバの変更
コンテナーに使用されるストレージドライバーに変更する場合は、コンテナーの起動時に変更できます。これは、を使用して行うことができます–volume-driver 使用時のパラメータ docker runコマンド。例を以下に示します-
sudo docker run –d --volume-driver=flocker
–v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
ザ・ –volume-driver オプションは、コンテナーの別のストレージドライバーを指定するために使用されます。
ドライバが変更されたことを確認するには、まず、 docker ps実行中のコンテナーを確認し、コンテナーIDを取得するコマンド。したがって、最初に次のコマンドを発行します-
sudo docker ps
次に、 docker inspect コンテナに対して、コマンドを使用して出力をテキストファイルに入れます。
sudo docker inspect 9bffb1bfebee > temp.txt
テキストファイルを参照して、次の行に移動すると VolumeDriver、ドライバー名が変更されていることがわかります。
ボリュームの作成
ボリュームは、を使用して事前に作成できます dockerコマンド。このコマンドについてもっと学びましょう。
構文
docker volume create –-name=volumename –-opt options
オプション
name −これは作成する必要のあるボリュームの名前です。
opt −これらは、ボリュームの作成中に提供できるオプションです。
戻り値
このコマンドは、作成されたボリュームの名前を出力します。
例
sudo docker volume create –-name = demo –opt o = size = 100m
上記のコマンドでは、サイズが100MBで、デモという名前のボリュームを作成しています。
出力
上記のコマンドの出力を以下に示します-
すべてのボリュームを一覧表示
すべてを一覧表示することもできます docker volumes に docker host。このコマンドの詳細を以下に示します-
構文
docker volume ls
オプション
なし
戻り値
コマンドは、上のすべてのボリュームを出力します docker host。
例
sudo docker volume ls
出力
上記のコマンドの出力を以下に示します-