2017-01-19 15 views
0

ドッカーのコンテナでファイルのタイムスタンプのみを変更(touch'ed)するのはどうですか? UFS(または使用されるvarianet)は、ドッカーコンテナレイヤーにファイルコピーを作成するか、このシナリオをより効率的に処理できますか?ファイルはドッキング・コンテナ・レイヤーにコピーを作成しますか?

dockerのコンテキストでのファイルタッチの影響に関する情報を特定し、このシナリオを最適に管理してレイヤ上の累積ファイルストレージサイズフットプリントを削減する方法を検討します。

答えて

2

これは、実験的に答えるのは簡単な質問です。コンテナ

docker run -it ubuntu 

タッチ何かと終了:

[email protected]:/# touch /bin/ls 
[email protected]:/# exit 

保存新しいイメージとしてコンテナ:

$ docker commit 914f5453af3c testimage 

エクスポートローカルディレクトリに画像レイヤー:

をコンテナを開始
$ mkdir testimage 
$ docker save testimage | tar -C testimage -xf- 

これはあなたのような何かに見えるディレクトリ与える:

$ cat testimage/repositories 

{ "testimage":{ "最新": "6d1bde67c5695c66882fd71951376e176ba908fc9a560bd8eeb07c4b4797da89"}}最上層を見つけるために

$ ls testimage 
15c6fddb70d1d281b7c20cdd5a54be3379c4c282a3e9ba2ae27c79a655ca9ed6 
46bda337e95a0163468d9daa3a13ba104507f68186a09cdb2892b20030aeb530 
63c22c7d4e3cd1a04ada1a24dd84837c1ce0c445bb48b75ed45f84250146459f 
6d1bde67c5695c66882fd71951376e176ba908fc9a560bd8eeb07c4b4797da89 
7c05062524dd680596681fb193b3096fcd775da2c0e7e66e0ad580850ee3a973.json 
96ab7e8335a8dff5ed0144a46ddbe6ab6c1e76011670cb54efc515c46ea6b09b 
fbe2d84b180c3f84eb15754cf95e1a6359a84ed3c6e2f6869f0a2015343611fc 
manifest.json 
repositories 

repositoriesを見てその層の内容で

ルック:

$ tar -tf testimage/6d1bde67c5695c66882fd71951376e176ba908fc9a560bd8eeb07c4b4797da89/ 
layer.tar 
bin/ 
bin/ls 
root/ 
root/.bash_history 

そして、touchを実行した結果、最上位のレイヤーに/bin/lsのコピーがあることがわかります。

+0

ありがとうございます。私はレイヤーをエクスポート&レビューするのに十分な知識がありませんでしたが、ラップトップでサンプルを追跡し、チェックを再作成しました。とても有難い。 –

関連する問題