猿问

如何在 Dockerfile 中使用 ENTRYPOINT 执行 Docker 容器

我有一个如下所示的 Dockerfile:


FROM image


WORKDIR /App

ADD ./App/ /App

ENTRYPOINT [ "./App" ]

在应用程序方向,我正在安装 golang 二进制文件及其 config.yml。


图像构建并正确运行。当我没有运行分离的容器时,我可以看到应用程序也在运行。


但是当我单独运行它时:


docker run -d image

我无法在以下之后执行到容器中:


docker exec -it container bin/bash

有错误消息:


OCI 运行时执行失败:执行失败:container_linux.go:345:启动容器进程导致“执行:\”bin/bash\”:stat bin/bash:没有这样的文件或目录”:未知


我可以理解这与我设置的入口点有关,但我不确定我可以使用什么替代方案。


有任何想法吗?


拉丁的传说
浏览 98回答 1
1回答

繁花如伊

您应该指定二进制文件的完整路径(/bin/bash在您的情况下)或仅指定位于容器的 PATH 变量中某处的二进制文件的名称(bash)
随时随地看视频慕课网APP

相关分类

Go
我要回答