2017-11-01 3 views
0

私はドッカーでベースイメージ(親イメージ)を作ろうとしています。 COPYを使用していくつかのファイルを子ドッカーのイメージにコピーすると、そのファイルはコピーされません。ビルダーのドッカーの親イメージから子イメージへファイルをコピーする方法はありますか?

親Dockerfileフォルダ内のファイルを子Dockerfileにコピーする方法はありますか?

親Dockerfile:

FROM debian:jessie-slim 

ONBUILD RUN mkdir /app 
ONBUILD WORKDIR /app 
COPY . . 

私はpackage.jsonと呼ばれる基本イメージ内のファイルを持っています。最初にONBUILD COPY . .を使用して、そのファイルをベースディレクトリから子イメージにコピーしました。私はCOPY何もしなかった。だから私はそれがONBUILDに関連していると思って、それらのファイルを表示しないので、私はそれを削除しましたが、どちらも役に立たなかった。

マイディレクトリ:

base_dir 
    Dockerfile 
    package.json 

child_dir 
    Dockerfile 
    my_app 

これは、ドッキングウィンドウのファイルを構築するための画像フォルダの構造があります。

+1

で利用できるようになる '親画像をFROM'、「子」の画像は、内にあるすべてのファイルが含まれています親イメージおそらく、あなたは何をしようとしているのか、そして何が動いていないのかをもう少し説明できますか? – thaJeztah

+0

@thaJeztah私は実際にベースディレクトリからビルドしているイメージにコピーしたいと思っています。ビルドしようとしているときに、そのファイルをベースイメージにコピーできません。質問してください。私は役に立つかもしれないいくつかの追加情報を追加しました。 – ALH

+0

ファイルが親画像にあります。しかし、あなたは 'COPY 'を使うので。 .'、それはdebianイメージのデフォルトフォルダである '/'フォルダがあります。あなたの子供のイメージでは '/ app'にあり、ファイルは'/package.json'で利用可能になります –

答えて

0

ファイルは親画像にあります。しかし、COPYを使用しているので。 。それは、親画像のフォルダ作業ディレクトリです。 /はdebianイメージのデフォルトの作業ディレクトリです。あなたの子供の画像で

あなたは、デフォルトで/appディレクトリにあり、あなたがイメージをビルドする場合、ファイルが/package.json

関連する問題