如何运行私有Docker映像

时间:2019-10-14 09:36:00

标签: docker

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镜像时,我得到了详细信息

2 个答案:

答案 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 scratch image

但是我建议在Docker中说“你好”是使用BusyboxAlpine作为具有外壳的基础映像,并且两者都在 5MB 以下。

FROM busybox
CMD ["echo","hello Docker!"]

现在构建并运行

docker build -t hello-docker .
docker run --rm -it hello-docker