ドッキングウィンドウのデータ量(データボリューム)

 

ホストとコンテナドッカー間ドッカーコピーファイルのコピー

はじめに:

ドッカーデータ管理

   本番環境でのドッキングウィンドウの使用は、多くの場合、永続的なデータである必要があり、または複数の容器との間に必要とされます

   必ずしもコンテナを伴うデータの共有、データ管理操作

   主に2つの方法で管理データコンテナ:

   データボリュームを直接ローカルホスト環境にマッピングされたコンテナデータ内のデータボリューム。

   データボリューム・コンテナ(データボリューム・コンテナは、特定のデータボリューム・コンテナを維持するために使用しました

 

もちろん、最も原始的なコピーモードでは、これはデータを管理するための方法ですが、基本的には使用されません。

ほとんどのオリジナルコピーは、データを管理します。

コンテナへのホストファイルのコピー

コンテナディレクトリ:ファイルまたはディレクトリ名のコンテナをコピーするドッキングウィンドウのcp必要

 例:

ドッキングウィンドウのcp / liuwenwu /ドッキングウィンドウ/ mycentos02:/ liuww / softwar

ホスト容器にコピーします

ドッキングウィンドウのcpコンテナ名:コンテナディレクトリのホストディレクトリ

 例:

ドッキングウィンドウCP mycentos02:liuww / softwar /ドッキングウィンドウ/ bbb.txt / liuwenwu /ドッカ

 

データボリューム

データボリューム(データボリューム)

   データ量が1つ以上の容器のための特別なディレクトリで、それが直接の容器にマッピングされたオペレーティングシステムディレクトリをホストします、

   これは便利な機能の多くを提供することができます。

   1.データ量は容器の間で共有し、再利用することができます

   2.データボリュームの変更はすぐに反映されます

   データのボリューム3.更新し、画像には影響しません

   4.データボリュームのデフォルトは常にコンテナが削除されても、存在します

 

   データボリューム関連の操作

   1. データボリュームを作成します。

ドッキングウィンドウのボリュームは、私の-VOLを作成します

 このとき、デフォルトの/ var / libに/ドッキングウィンドウ/ボリュームパスにデータボリューム、データボリュームの新しい場所を見つけるだろう、viewコマンドは次のように:

     ##パラメータは、番号「1」、文字Lであることができる:大文字または小文字、その効果は同じではありません

LS - 1 / VAR / libに/ドッキングウィンドウ/ボリューム

 2. すべてのデータボリュームをチェック

ドッキングウィンドウのボリュームLS

3.参照の詳細指定されたデータ量(JSON形式の表示データ)

ドッキングウィンドウのボリュームは、私の-VOLを検査します 

ボリュームを削除します。4.

 ドッキングウィンドウのボリュームRM私-VOL

 注1:データ量がコンテナのライフサイクルとは独立した永続的なデータに設計された容器を除去した後、データ量ドッカーは自動的に削除されません、

          そして、データボリュームへの参照せずにこのような容器に対処するために何のガベージコレクションのメカニズムが存在しない、主のないデータ量は、多くのスペースを占有する可能性があります

          だから、速やかに削除します

   ##データボリュームを搭載し、それはコンテナによって起動時の実行を作成するのではなく作成/起動をするのが最善です

   起動コンテナを作成し、かなり面倒なデータボリュームをマウントするコマンドを開始/作成、あなた方の多くは、設定ファイルを変更したい##の後ではなくはありません

5. [スタート]は、データボリュームのコンテナをマウント

## DEMO1 
     ドッキングウィンドウの実行 - D \
        - それ\
        - 名mycentos03 \
        --mountソース=私の-巻、ターゲット= / Webアプリケーション\ 
       CentOSの:7

 

注:このコマンドラインで、ホスト・パスの/ var / libに/ドッキングウィンドウ/ボリューム/私の-容量/ _data tomcat01コンテナー・パスおよび/ Webアプリケーションの実行の効果マッピング

   

 ## demo2
     docker run -d \
       -it \
       --name tomcat02 \
       --mount type=bind,source=/liuww/data,target=/root/webapp02 \
       centos:7    

  注1:linux命令结尾加斜杠有什么用

          加了“\”意为将最后的回车换行给注释了,系统理解为命令还没有结束,因而是继续等待用户进行输入,直到读到结束符,如回车

 

     注2:source=my-vol,target=/webapp

          my-vol为要挂载的数据卷,如果数据卷不存在,docker会自动创建

          /webapp为容器上目录,如果目录不存在, Docke会自动创建

 

     注3:mount选项高级用法

          --mount选项的type参数支持三种类型的数据卷

          --mount标志:由多个名值对组成,逗号分隔,每个键值由 <key> = <value> 元组组成

          1.type=volume普通数据卷(默认即这种类型),映射到主机/var/lib/docker/volumes路径下;

            --mount type=volume,source=my-vol,target=/webapp

            注:这是type的默认值

          2.bind:绑定数据卷,映射到主机指定路径下;

            --mount type=bind,source=/webapp,destination=/webapp2

          3.tmpfs :临时数据卷,只存在于内存中

            docker run -d \

              -it \

              --name tmptest \

              --mount type=tmpfs,destination=/app \

              nginx:latest

数据卷容器

数据卷容器

   如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。

   数据卷容器也是一个容器,但是它的目的是专门提供数据卷给其他容器挂载

 

   数据卷容器相关操作

   1.新建数据卷容器

docker run -di --name db_data -v /db_data centos:7

注:-v 后面接的共享数据真实存放路径

 2.用容器db1、db2测试数据卷容器是否可用

docker run -di --name db1 --volumes-from db_data centos:7
docker exec -it db1 bash
cd db_data
     
docker run -di --name db2 --volumes-from db_data centos:7
docker exec -it db2 bash
cd db_data

 随便创建一个aaa.txt文件就可以查看效果了

 效果:上面例子中db1、db2通过db_data来共享了数据

 

おすすめ

転載: www.cnblogs.com/liuwenwu9527/p/11963560.html