2017-01-13 17 views
1

にLSTAT誤差を生じる構築Dockerfileは、私は次のような構造を持つデッド単純なプロジェクトを持っているADD

FROM python:3.5 

ADD src/config.json /testapp/config.json # Config 

私はこのビルドコマンドを実行します。

Sending build context to Docker daemon 4.608 kB 
Step 1 : FROM python:3.5 
---> 1d0326469b55 
Step 2 : ADD src/config.json /testapp/config.json 
lstat testapp/config.json: no such file or directory 

なぜこの失敗がある:

docker build -t testapp:dev . 

そして、この結果を得ますか?見つからないアイテムがtestapp/config.jsonであるのはなぜですか?これまで、私はこの正確な構成を使用して、たとえば、requirements.txt個のファイルを一時的な作業ディレクトリにコピーしました。 ADDがどのように動作して失敗したかについて私が迷っていることは分かりません。誰でも説明できますか?

+0

"ディレクトリ"はおそらく責任がありますか?ターゲットディレクトリは存在しますか? –

+0

私は間違っているかもしれませんが、私はそれがディレクトリを作成すると思う(少なくとも私はそれを行うように見える別の作業dockerfileを持っている)。 'RUN mkdir/testapp && ls -la/testapp'を' ADD'の前に追加すると、同じメッセージで失敗しますが、 'testapp'ディレクトリが作成されて一覧表示されます。 –

答えて

2

私はIDEに遭遇しました。この行は失敗します。

ADD src/config.json /testapp/config.json # Config 

しかし、これは成功します:

ADD src/config.json /testapp/config.json 

は、アドオンのためdocumentation読み、先のディレクトリとしてConfigを使用しようとしている、そのような/testapp/config.jsonなどとして処理され表示されますソースファイル。 IDEは# Configをグレー表示し、コメントとして扱われていると思いました.Dockerfilesはインラインコメントをしません。これはcommentsにドッカーのドキュメントで覆われている

ドッカーがコメントとして#で始まる行を扱います。行の他の場所の#マーカーは引数として扱われます。

+0

ハ!そのようなことを読むときに、私たち全員がコメントを無視するのは驚くべきことです。私はそれに気付かなかった。 –

+0

@NickBurkeええ、私は少し暗い感じ。しかし、それが他の人を助ける場合に備えて、質問を残しておいてください。 –

関連する問題