Docker Image无法执行命令

我的Dockerfile如下所示:

FROM scratch RUN skype 

我在我的操作系统中安装了Skype,当我尝试使用下面的命令构builddocker时:

 sudo docker build -t tryskyped . 

它说

 Sending build context to Docker daemon 2.048kB Step 1/2 : FROM scratch ---> Step 2/2 : RUN skype ---> Running in 0ecf7c719567 container_linux.go:247: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory" oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory" 

如果我没有错,它应该执行/bin/sh -c skype 。 当我手动尝试这个,我可以看到Skype打开
我对此非常陌生,我只是在尝试docker.Please帮助

你的Dockerfile什么都不做,因为它没有CMD或ENTRYPOINT来执行。 一个Dockerfile有一个configuration阶段(RUN,ADD,COPY等等)和一个开始阶段,带有ENTRYPOINT和CMD。举个例子,Nginx图像引用的Dockerfile的最后一行包含

从…中提取

https://github.com/nginxinc/docker-nginx/blob/0c7611139f2ce7c​​5a6b1febbfd5b436c8c7d2d53/mainline/jessie/Dockerfile

CMD ["nginx", "-g", "daemon off;"]

检查一个Dockerfile中的CMD和ENTRYPOINT有什么区别?

CMD的文档

https://docs.docker.com/engine/reference/builder/#cmd

入境点

https://docs.docker.com/engine/reference/builder/#entrypoint