2016-09-08 3 views
2

私はDockerを理解しようとしていますが、私は非常にシンプルですDockerfile at OSXです。私はDocker Hello Wold - ociランタイムエラー

docker build -t simple . 

のようにこのファイルの画像を構築しようとした際

FROM scratch 
RUN echo "Hello world" > ~/helloworld.txt 
CMD ["cat", "~/helloworld.txt"] 

私は、ビルドプロセス中にエラーが発生します。

エラー出力

Sending build context to Docker daemon 2.048 kB 
Step 1 : FROM scratch 
---> 
Step 2 : RUN echo "Hello world" > ~/helloworld.txt 
---> Running in fc772fd39d45 
oci runtime error: exec: "/bin/sh": stat /bin/sh: no such file or directory 

なぜ私はこの問題に直面しています上の任意のポインタ?

答えて

2

from SCRATCH(空の画像)を開始し、cat, which is not a shell built-inを使用しています。

catニーズ/bin/shは、(それがプロセスをフォークして動的ライブラリをロードします)を実行する


注:デフォルトでは、ENTRYPOINT/bin/sh -cですが、ドキュメントは「Creating a simple base image using scratchENTRYPOINTは、スクラッチのために空であることを示しています画像。

BMitchとしてコメントbelow

問題への迅速な修正プログラムは、サイズが

を重要ならば、現在そのために使用された画像は、alpineあるFROM debian:latestあるいはFROM busybox:latestのようなものから変化しています

FROM alpine:3.4 

イメージはわずか5 MBで、他のBusyBoxベースのイメージよりもはるかに完全なパッケージリポジトリにアクセスできます。

+0

問題は、FROM debian:latestやFROM busybox:latestのように変更されています。 – BMitch

+0

@BMitchありがとうございます。より視認性の高い答えをあなたのコメントに追加しました。私はアルパインを使用します。 – VonC

関連する問題