#環境centos7.4、ドッカーバージョン17.12.0-CE
ドッカーボリュームの作成、バックアップ、NFS店
#docker量
データ格納容器は、すなわち容器は、すべてのデータが削除破壊
外側容器に保存する、保持するデータを(永続データ)を
、ドッカーボリュームファイルまたはディレクトリコンテナに使用ドッカーマウント
- ドッキングウィンドウの音量
- バインドmuount#任意のディレクトリやファイルをマウント
- ボリューム#固定ディレクトリパス、ドッキングウィンドウの管理
- ホストメモリに保存されたtmpfsのマウント#
ボリューム文書の公式ウェブサイトのアドレスドッキングウィンドウ https://docs.docker.com/storage/volumes/
#bind muount例
#ドッカーは、コンテナにファイルやディレクトリをマウント #ディレクトリとファイルを作成します。
ます。mkdir -p /データ/ TEST1
エコー「ドッカーボリューム」> /データ/ test1の/ test.txtの #ディレクトリ(デフォルトでは、読み取りおよび書き込み権限)をマウント-v、コンテナを作成
ドッキングウィンドウの実行-dit --name busybox1 -v /データ/ TEST1:/データ/ TEST1のbusyboxの
#見ます
ドッカーの/data/test1/test.txt Execのbusybox1のCAT #変更されたファイルは、ローカルにあるかどうかの変更を参照してください
ドッキングウィンドウのexec busybox1エコー私のファイル>> /データ/ TEST1 / test.txtの
ドッキングウィンドウのexec busybox1猫/data/test1/test.txt
猫/data/test1/test.txt
Dockerfileポータブル確保するために、ミラーバインドmuountを構築するために使用することはできません
#tmpfsマウント
# 使用--tmpfs
ドッキングウィンドウの実行-dit --name tmpfsのテスト--tmpfs /アプリbusyboxの
#Volumes
#マウントディレクトリを指定しないでください、デフォルトのディレクトリ/ var / libに/ドッカー/ボリューム// _データ/
#dockerボリューム管理し、正式に推奨
#使用ボリューム
#は自動的にボリューム/ <ID番号> / _データを作成し、ディレクトリをマウント指定されていません/
RUN -dit --name busybox2 -vドッカー/テストデータ/ busyboxの#は、コンテナ内のプロジェクトファイルを作成します。
ドッカー/data/test/test2.txt Execのbusybox2タッチ#は、ホスト内のファイルパスを表示します
/ var / libに/ドッキングウィンドウ/ボリューム-name test2.txtという名前を見つけます
grepのソース|ドッキングウィンドウはbusybox2を検査します
#dockerボリュームオーダー管理
#ボリュームを作成します。
音量ボリューム-test1のドッカー作成 #ビューパラメータを
ドッキングウィンドウは、ボリューム-test1の検査 #使用量を
ドッキングウィンドウの実行-dit --name busybox3 -vボリューム-TEST1:/ボリュームbusyboxのの #查看
ドッカーは-f {{.Mounts}} busybox3を検査します
#表示ドッキングウィンドウのデータ量
ボリュームLSドッカーの #データボリュームを削除するには、(注意して)使用されていません
ドッキングウィンドウのボリュームプルーン
バインドマウントとボリューム-v通じまたは--volumeマウント、tmpfsの使用--tmpfs
これらの3を使用することができますがマウント--mount、より明確なフォーマット、推奨公式
#dockerボリュームデータの共有
- 同じディレクトリをマウントします
- ボリューム・コンテナを使用します
#データ量容器の容積のコンテナ
#--Volumes-から船舶の名称、容器はディレクトリをマウントするために配信されます(パラメータ受け渡しボリューム)
#コンテナbusybox4を作成します(起動しません)
ます。mkdir -p /データ/ TEST2
エコー 'busybox4'> /データ/ TEST2 / test.txtの
/データ/ test2はbusyboxの:ドッキングウィンドウは、--name busybox4 -v /データ/ test2の作成します
# 他から--Volumes容量のコンテナ
ドッキングウィンドウの実行-dit --name busybox5 --volumes-からbusybox4のbusyboxのの #查看
ドッキングウィンドウのexec busybox5猫/data/test2/test.txt
#マウントのデータボリュームの複数の容器
ドッキングウィンドウの実行-dit --name busybox6 --volumes-からbusybox4の--volumes-からbusybox1のbusyboxの
ドッキングウィンドウのexec busybox6 LS /データ/#を見ます
#dockerのボリュームのバックアップ
- バックアップボリュームのディレクトリをマウントします
- --Volumes-から容器バックアップを使用して
#コンテナバックアップボリュームbusybox4のデータボリュームを使用して
ドッキングウィンドウの実行--rm --volumes-からbusybox4 -v $(PWD):/バックアップbusyboxの\
かかるCVF /backup/backup.tar /データ/ TEST2 /
。
例上記ドッカーボリュームは、単一のホストドッカー内のすべての
ドッカークラスタ環境は、共有ストレージを使用する必要があり、分散ストレージ
NFSストレージを使用#dockerボリューム
#NFS共有を設定するNFSサーバ、
YUMのnfs-utilsのrpcbindに-yをインストール
ます。mkdir -p /データ/ NFS /ドッカ
エコー "/データ/ NFS *(RW、にno_root_squash、シンク)" >>は/ etc /輸出
exportfs -r
systemctl開始のrpcbind NFSサーバ
rpcbindをNFSサーバーを有効systemctl
showmountは-eはlocalhost
#NFSクライアント
yumを-yのnfs-utilsののrpcbindをインストール
#ボリューム接続172.16.50.43:/data/nfsを作成します。
ドッキングウィンドウのボリュームは、ローカル--driver作成\
--optタイプ= NFS \
--opt O = ADDR = 172.16.50.43、RW \
--optデバイス=:/データ/ NFS \
ボリューム-NFS
#見ます
ドッキングウィンドウのボリュームLS
ドッキングウィンドウのボリュームは、ボリューム-NFSを検査します
#コンテナボリューム-NFSを使用して
ドッキングウィンドウが-dit --name busybox7 -vボリューム-NFSを実行します。/ NFS busyboxの #查看
ドッカーは-f {{.Mounts}} busybox7を検査します
-h dfが| grepを/データ/ NFS #ボリュームディレクトリ/ var / libに/ドッキングウィンドウ/ボリューム /ボリューム-NFS / _dataを自動的にNFSサービスに取り付けます
#コンテナは、テストファイルを作成します
ドッキングウィンドウのexec busybox7タッチ/nfs/testfiles.txt
#使用量のドライバは、より多くのバックエンドを達成することができます
#テストコンテナ、ボリュームを削除します。
RM -ドッカーテストbusyboxのTMPFS F -v {1,2,3,4,5,6,7} #力削除、-v削除ボリューム-f
ドッキングウィンドウのボリュームプルーン