首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何运行私有Docker镜像

如何运行私有Docker镜像
EN

Stack Overflow用户
提问于 2019-10-14 17:36:01
回答 2查看 84关注 0票数 0
代码语言:javascript
复制
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中创建了镜像,它是私有镜像。

代码语言:javascript
复制
FROM scratch
# Set the working directory to /app
WORKDIR Desktop
ADD . /Dockerfile
RUN ./Dockerfile

EXPOSE 8085

ENV NAME testing

这在我的Dockerfile中

我试着运行它,当我运行docker图像时,我得到了详细信息

EN

回答 2

Stack Overflow用户

发布于 2019-10-14 17:37:27

我认为你需要在下面的命令prompt.useing中进行登录。

代码语言:javascript
复制
docker login -u username -p password  url
票数 2
EN

Stack Overflow用户

发布于 2019-10-14 17:48:44

除了不应该导致这些的登录之外,因为你在你的本地系统上构建了一个镜像,我假设它应该存在于本地系统上,如果本地系统上不存在,那么它只会拉取镜像,真正的原因是你正在从scratch构建一个镜像,并且scratch镜像中没有二进制文件,甚至没有bash或sh

第二个错误:

代码语言:javascript
复制
RUN ./Dockerfile

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

虽然scratch出现在集线器上的Docker存储库中,但您不能提取、运行它,也不能标记任何名称为scratch的图像。相反,您可以在Dockerfile中引用它。例如,要使用scratch创建最小容器:

代码语言:javascript
复制
FROM scratch
COPY hello /
CMD ["/hello"]

而在这里,hello可以是一个可执行文件,比如C++编译文件。

Docker scratch image

但我建议在Docker中使用BusyboxAlpine作为基础镜像,它们都有一个外壳,并且都在5MB下。

代码语言:javascript
复制
FROM busybox
CMD ["echo","hello Docker!"]

现在构建并运行

代码语言:javascript
复制
docker build -t hello-docker .
docker run --rm -it hello-docker
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58373989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档