2016-12-21 12 views
1

ホストマシンからコンテナに隠しフォルダにファイルを追加しようとしていますが、動作していないようです。これは私のDockerファイルです:隠しフォルダにファイルを追加する

FROM frekele/gradle:2.14.1-jdk8 

MAINTAINER Fran Garcia <[email protected]> 

ADD gradle.properties /root/.gradle/gradle.properties 

# Run 
CMD ["ls", "/root/.gradle/gradle.properties"] 

ファイルは追加されません。このファイルを他のフォルダに追加できますが、隠しフォルダには追加できません。誰が何が起こったのか、どうやって解決するのか、考えている人はいますか?

+2

あなたが構築するために使用するコマンドを追加してくださいすることができ、実行して画像/コンテナを入力しますか?あなたがその文脈なしで尋ねていることを理解することは非常に難しいです。 – nwinkler

答えて

0

これは設計通りに動作しています。あなたのエラーはCMDの使用方法にあります。ここで何が起こっているのです:

  • 私はあなたのDockerfileを作成し、その後、docker build . -t gr-foo
  • を走った私は(とりわけ)以下の出力行を生成docker run -it --rm gr-fooを、使用してコンテナを開始しました:

    exec: fatal: unable to exec ls /root/.gradle/gradle.properties: No such file or directory 
    

私はこれもあなたが見ているエラーだと思います。

CMDには値の配列が必要です。各エントリはコマンドラインの一部として扱われます。これは、所望の出力が得られ、二つの異なるアイテムとしてlsとパスを扱います

CMD ["ls", "/root/.gradle/gradle.properties"] 

:あなたはそれを変更する必要が

/root/.gradle/gradle.properties 
ls exited 0 
+0

これは問題ありませんが、コンテナにsshを置くと、/root/.gradleにコピーしようとしたファイルは存在しません。混乱を避けるために質問を更新します。助けてくれてありがとう –

+0

私はちょうどこれを試して、SSHがコンテナに入っています - ファイルは期待通りにそこにあります。 – nwinkler

+0

はい、私もそれを実現しました!ドッカーがymlファイルを作成するとき(コンテナを使用していた実際の方法です)、そのファイルをコピーしないと何か問題があります。私は理由を調べています。あなたの助けをもう一度ありがとう。 –

関連する問題