如何运行私有Docker映像

问题描述 投票:0回答:2
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映像时我正在获取详细信息

docker
2个回答
3
投票

我认为您需要在命令提示符下登录。请使用以下命令。

docker login -u username -p password  url

1
投票

除了登录名,当您在本地系统上构建映像时,不会导致这些登录,我认为该映像应该存在于本地系统中,这只会在本地不存在的情况下提取映像,真正的原因是您正在从以下位置构建映像scratch,并且scratch图像中没有二进制文件,甚至没有bash或sh

第二个错误,

RUN ./Dockerfile

您的Dockerfile是文件,而不是二进制文件,而您在这里尝试使用RUN指令执行。

虽然刮擦出现在集线器上Docker的存储库中,但您不能拉动它,运行它或标记任何带有刮擦名称的图像。相反,你可以在您的Dockerfile中引用它。例如,创建一个最小临时使用的容器:

FROM scratch
COPY hello /
CMD ["/hello"]

虽然这里hello可以是一个可执行文件,比方说一个c ++编译文件。

docker sractch image

但是我建议与docker打招呼的是将busyboxalpine用作具有外壳程序且都在5MB]下的基本映像。

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

现在构建并运行

docker build -t hello-docker .
docker run --rm -it hello-docker
© www.soinside.com 2019 - 2024. All rights reserved.