Docker你好Wold – oci运行时错误
我想了解Docker,并且在我的OSX上的~/dockerfiles/test
上有一个非常简单的Dockerfile 。
FROM scratch RUN echo "Hello world" > ~/helloworld.txt CMD ["cat", "~/helloworld.txt"]
当我尝试为这个文件build立一个图像
docker build -t simple .
在构build过程中出现错误。
错误输出
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
任何指针为什么我面临这个问题?
您从SCRATCH (空白图像)开始,您正在使用cat
,而不是内置的shell 。
cat
需要运行/bin/sh
(它将fork进程并加载dynamic库)
注意:默认情况下, ENTRYPOINT
是/bin/sh -c
,但是文档“ 使用scratch创build一个简单的基础镜像 ”显示临时镜像的ENTRYPOINT
为空。
正如下面的 BMitch所评论的:
这个问题的快速解决scheme正在从诸如
FROM debian:latest
,甚至FROM busybox:latest
如果大小的问题
目前使用的图像是高山
FROM alpine:3.4
该映像只有5 MB,可以访问比其他基于BusyBox的映像更完整的软件包存储库。