docker run -i -t testing bash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown.
我在Docker Hub中创建了映像,它是私有映像。
FROM scratch
# Set the working directory to /app
WORKDIR Desktop
ADD . /Dockerfile
RUN ./Dockerfile
EXPOSE 8085
ENV NAME testing
这在我的Dockerfile中
我厌倦了运行它,当我运行docker镜像时,我得到了详细信息
答案 0 :(得分:2)
我认为您需要在命令提示符下登录。使用以下命令。
docker login -u username -p password url
答案 1 :(得分:2)
除了不应该导致这些的登录外,当您在本地系统上构建映像时(我认为该映像应该存在于本地系统中,该映像仅在本地不存在时才提取映像),真正的原因是您正在构建一个图片来自 scratch ,并且 scratch 图片中没有二进制文件,甚至没有 bash或sh 。
第二个错误:
RUN ./Dockerfile
当您尝试使用RUN指令执行时,您的Dockerfile是文件而不是二进制文件。
当刮擦出现在集线器上Docker的存储库中时,您将无法 拉动它,运行它或标记任何带有刮擦名称的图像。相反,你 可以在您的Dockerfile中引用它。例如,创建一个最小 临时使用的容器:
FROM scratch
COPY hello /
CMD ["/hello"]
在这里你好可以是可执行文件,例如C ++编译文件。
但是我建议在Docker中说“你好”是使用Busybox或Alpine作为具有外壳的基础映像,并且两者都在 5MB 以下。
FROM busybox
CMD ["echo","hello Docker!"]
现在构建并运行
docker build -t hello-docker .
docker run --rm -it hello-docker