错误:无法启动容器:stat / bin / sh:没有这样的文件或目录“

我一直在试图创build我自己的busybox基础图像。

# ./mkimage.sh -t pensu/busybox busybox-static + mkdir -p /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs + tar --numeric-owner -caf /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs.tar.xz -C /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs '--transform=s,^./,,' . + cat > '/var/tmp/docker-mkimage.US3tHy0uBQ/Dockerfile' + rm -rf /var/tmp/docker-mkimage.US3tHy0uBQ/rootfs + docker build -t pensu/busybox /var/tmp/docker-mkimage.US3tHy0uBQ Sending build context to Docker daemon 863.2 kB Sending build context to Docker daemon Step 0 : FROM scratch ---> Step 1 : ADD rootfs.tar.xz / ---> 8eac78bfc9d6 Removing intermediate container ad9bbb8f7536 Successfully built 8eac78bfc9d6 + rm -rf /var/tmp/docker-mkimage.US3tHy0uBQ 

我可以看到图像可用我的docker回购。

 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE pensu/busybox latest 8eac78bfc9d6 7 seconds ago 2.476 MB 

但是当我试图做docker运行时,我总是得到错误:

 # docker run -it pensu/busybox /bin/sh exec: "/bin/sh": stat /bin/sh: no such file or directorytime="2015-04-09T16:03:45+05:30" level="fatal" msg="Error response from daemon: Cannot start container 8fe73b7832193c847d7975175a4be86d1f0b550b6a00b812bd4cdd18fe752468: exec: \"/bin/sh\": stat /bin/sh: no such file or directory" 

我不明白为什么会出现这个错误? 难道我做错了什么? 我还能如何validation我正在创build一个处于工作状态的正确图像?

创build图像后,请检查:

$ docker检查$ image_name

并检查你有什么CMD选项,忙框应该是:“命令”:[“/ bin / sh”]也许你是覆盖CMD选项在你的./mkimage.sh

你在/ bin / sh没有shell? 你有没有尝试docker run -it pensu/busybox /usr/bin/sh

明确提到您正试图运行的docker文件中的ubuntu版本,

 FROM ubuntu:14.04 

不要使用像FROM ubuntu:Latest 。 这解决了我上面的“无法启动容器:stat / bin / sh:没有这样的文件或目录”问题