Dockerの基本-tmpfsマウントを使用してアプリケーションデータを管理する

ボリューム(ボリューム)バインドマウント(バインドマウント)を使用すると、ホストとコンテナー間でファイルを共有できるため、コンテナーがデータの永続的な保存を停止した後でも実行できます。

LinuxでDockerを実行している場合は、3番目のオプションがあります:tmpfsマウント。tmpfsコンテナーマウントを使用し作成すると、コンテナーはコンテナーの外部に書き込み可能なファイルレイヤーを作成できます。

ボリュームやバインドマウントとは異なり、tmpfsマウントは一時的なものであり、ホストのメモリにのみ残ります。コンテナが停止すると、tmpfsマウントが削除され、そこに書き込まれたファイルは保持されません。

docker-types-of-mounts-tmpfs

これは、ホストまたはコンテナの書き込み可能レイヤーに永続的に保存したくない機密ファイルを一時的に保存する場合に役立ちます。

tmpfsマウントの制限

  • ボリュームマウントやバインドマウントとは異なり、マウントされたコンテナ間で共有することはできませんtmpfs
  • この機能は、DockerがLinuxで実行されている場合にのみ使用できます。

選択--tmpfsまたは--mountマーク

当初、--tmpfsタグはスタンドアロンコンテナーに--mount使用されタグはクラスターサービスに使用されていました。ただし、Docker 17.06以降--mountは、別のコンテナーと組み合わせて使用することもできます通常、--mountマークの表現はより明確で冗長です。最大の違いは、--tmpfsタグが構成可能なオプションをサポートしていないことです。

  • --tmpfs:[tmpfsマウントを設定]では、構成オプションを指定できず、別のコンテナーでのみ使用できます。
  • --mount:複数のキー-各キー値のペア、、-<key>=<value>タプルの1つによる値のペアより冗長な--mount構文よりも--tmpfs
    • (実装のタイプtypeのいずれであってもよい)bindvolume又はtmpfsこのトピックについて説明tmpfsしているので、タイプ(type)は常にtmpfsです。
    • ターゲット(destination)、血管tmpfs経路はその値としてマウントするために提供されます。それは使用することができdestinationdstまたはtarget指定します。
    • tmpfs-sizeそしてtmpfs-modeオプション。以下の指定されたtmpfsオプションを参照してください

同時に、可能な限り、次の例が示す--mount--tmpfs2つの構文、及び最初のショー--mount

--tmpfsそして--mount、行動の違い

  • --tmpfs このタグでは、構成可能なオプションを指定することはできません。
  • --tmpfsこのタグはクラスターサービスには使用できません。クラスタサービスの場合は、を使用する必要があります--mount

コンテナ内のtmpfsを使用してマウントします

コンテナtmpfsマウントで使用するには、--tmpfsマークを使用するか、使用type=tmpfsおよびdestinationオプション--mountマークを使用ますtmpfsソースマウントには使用されませんsource)。

マウント/appを作成するための次の例のNginxコンテナtmpfs最初の例では--mount、2番目の--tmpfsマーカー使用してマークを使用しています。

--mount

$ docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app \
  nginx:latest

--tmpfs

$ docker run -d \
  -it \
  --name tmptest \
  --tmpfs /app \
  nginx:latest

実行docker container inspect tmptestしてマウントがtmpfsマウントされていることを確認しMountsセクションを表示します。

"Tmpfs": {
    
    
    "/app": ""
},

コンテナを削除します。

$ docker container stop tmptest

$ docker container rm tmptest

tmpfsオプションを指定します

tmpfsマウントにより、2つの構成オプションが可能になりますが、どちらも必要ありません。これらのオプションを指定する必要がある場合--mount--tmpfsマークはサポートされていないため、マークを使用する必要があります

オプション 説明
tmpfs-size tmpfsマウントのサイズ(バイト単位)。デフォルトでは制限はありません。
tmpfs-mode tmpfsの8進ファイルモード。たとえば、700または0770デフォルト1777または書き込み可能。

次の例tmpfs-modeはに提供され1770ているため、コンテナ内ではグローバルに読み取り可能ではありません。

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \
  nginx:latest

著者:Dockerの公式ウェブサイト
翻訳者:Technical Zemin
発行元:Technical Verses
リンク:英語のテキスト

おすすめ

転載: blog.csdn.net/weixin_47498376/article/details/107754163