2017-03-01 4 views
3

マイDockerFileには、次の命令を含む画像を構築する際に、ファイルを削除することができません。ドッカーは

cannot access plugins.7z: No such file or directory 

基本イメージでコンテナを起動して手動でコマンドを実行すると、同じエラーが表示されます。フォルダの内容を表示を一覧表示しようとすると

# ls -lrt 
    ls: cannot access plugins.7z: No such file or directory 
    total 12 
    ??????????? ? ?   ?    ?   ? plugins.7z 

これはDocker Issuesにおける既知の問題として記載されていません。問題をさらにデバッグするにはどうすればよいですか?

編集:

  1. IPの理由から、私はここで完全なDockerfileを投稿することができません。また、必要でないかもしれません。私が言及したように、私は手動でコンテナを実行してコマンドを実行しようとしても、問題をシミュレートすることができます
  2. 私はそれを削除しようとする前にファイルがあります
  3. 私は間違っていた問題リスト。ここにはone
  4. 問題がそのファイルと関係ない可能性があります。フォルダ内の他のファイルやフォルダを削除すると、それらは???と表示されます権限
  5. 操作を実行するユーザーは、root
+2

あなたは完全なDockerファイルを投稿できますか? – Akki

+1

プラグインファイルはどこにありますか?どのディレクトリですか?おそらくあなたは間違ったパスからそれを削除しようとしていますか? –

答えて

3

ディレクトリを削除する理由は、バッキング(xfs)ファイルシステムがd_typeサポート( "ftype = 1")でフォーマットされていないためです。 githubについてのディスカッションを見つけることができます。 https://github.com/docker/docker/issues/27358

d_typeサポートがシステムで利用可能かどうかを確認するには、出力をdocker infoにチェックしてください。

Server Version: 1.13.1 
Storage Driver: overlay 
Backing Filesystem: xfs 
Supports d_type: false 
Logging Driver: json-file 

この要件はまた、いずれか、問題を解決するにはrelease notes for RHEL/CentOS

Note that XFS file systems must be created with the -n ftype=1 option enabled for use as an overlay. With the rootfs and any file systems created during system installation, set the --mkfsoptions=-n ftype=1 parameters in the Anaconda kickstart. When creating a new file system after the installation, run the # mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE command. To determine whether an existing file system is eligible for use as an overlay, run the # xfs_info /PATH/TO/DEVICE | grep ftype command to see if the ftype=1 option is enabled.

に記述されています。

  • 再フォーマットftype=1
  • 有するデバイスは、異なるストレージドライバを使用します。実際の運用では、ループバックデバイスを使用するデフォルトのデバイスマッパー設定は推奨されないため、手動で設定する必要があります。下位互換性のため

(ドッカの古いバージョンがd_typeないシステム上のオーバーレイを実行する許可)、ドッキングウィンドウ1.13はデーモンのログ(https://github.com/docker/docker/pull/27433)に警告をログに記録しないでしょうが、もはや将来的にサポートされますバージョン。

0

が問題を乗り越えることができたです。

1.13のためのchange log

"IMPORTANT: On Linux distributions where devicemapper was the default 
storage driver, the overlay2, or overlay is now used by default 
(if the kernel supports it)." 

は、だから私はdevicemapperをバック入れて予想通り、それは今働いているしようとしたと言います。

+0

あなたはいくつかの詳細をどのように共有できますか? –

+0

@VatsalPrakash私が試みたのはストップギャップ対策だけでした。受け入れられた答えを見てください。適切な解決策は、異なるファイルシステムを持つディスクにdockerをインストールすることです。 –

+0

ああ.. Thxxxx .. :) –