2016-04-15 7 views
0

マイDockerfileで見つかっていない実行可能ファイルは、次のとおりです。

FROM microsoft/aspnet:1.0.0-beta6 

COPY project.json /app/ 
WORKDIR /app 
RUN ["dnu", "restore"] 
COPY . /app 

EXPOSE 5005 
ENTRYPOINT ["dnx", "project.json", "kestrel"] 

画像

execをビルドするとき、私はエラーを得た: "DNU":実行可能ファイルをありませんの$ PATH

で見つかったとしても、私はENTRYPOINT ["dnx", "-p", "project.json", "web"]

+0

'RUN'行を' RUN dnu restore'に置き換えてみてください。何らかの理由で配列を渡すと、別のPATHを使用してバイナリを検索するという感覚があります。 – Augusto

+0

@Augusto、あなたは 'RUN [" dnu restore "]'を意味しましたか? https://github.com/aspnet/Home/blob/dev/samples/1.0.0-beta6/HelloMvc/Dockerfile –

+0

いいえ、 'RUN dnu restore'から取得しました。ドッカーが[docs](https://docs.docker.com/engine/reference/builder/#run)を実行すると、配列を受け取るフォームがシェルを生成しないことがわかります(少なくともlinuxでは、私はそれがWindows上で似ていると仮定します)、おそらくこれのため、バイナリを見つけるためにパスが適切に設定されていません。あるいは、現在のフォームを保持できるかもしれませんが、フルパスを 'dnu'実行可能ファイルに渡す必要があります。 – Augusto

答えて

0

として最後の行を変更することは次のようになります1.0.0-beta6]ドッキングウィンドウの画像を100%壊れて、それはそうちょうど新しい画像を使用しdnudnxバイナリ

$ docker run -it microsoft/aspnet:1.0.0-beta6 /bin/bash 
[email protected]:/# dnu --version 
bash: dnu: command not found 
[email protected]:/# dnx --version 
bash: dnx: command not found 
[email protected]:/# 

そしてベータ7(またはベータ8)上の

$ docker run -it microsoft/aspnet:1.0.0-beta7 /bin/bash 
[email protected]:/# dnu --version 
Microsoft .NET Development Utility 
Version:  1.0.0-beta7-15532 
Type:   Mono 
Architecture: x64 
OS Name:  Linux 

[email protected]:/# dnx --version 
Microsoft .NET Execution environment 
Version:  1.0.0-beta7-15532 
Type:   Mono 
Architecture: x64 
OS Name:  Linux 

[email protected]:/# 

が含まれていません。

関連する問題