我正在尝试使用 Dockerfile 和 go file 二进制文件创建一个 docker 容器。
我的文件夹中有两个文件:Dockerfile和main,其中后者是我的简单 go 文件的二进制文件。
Dockerfile 的内容:
FROM golang:1.11-alpine
WORKDIR /app
COPY main /app/
RUN ["chmod", "+x", "/app/main"]
ENTRYPOINT ["./main"]
我尝试了以下步骤:
sudo docker build -t naive5cr 。
sudo docker run -d -p 8080:8080 naive5cr
我通过“docker logs”看到的错误:
standard_init_linux.go:207: exec 用户进程导致“没有这样的文件或目录”
我的go文件内容[我认为这与问题无关]:
func main() {
http.HandleFunc("/", index)
http.ListenAndServe(port(), nil)
}
func port() string {
port := os.Getenv("PORT")
if len(port) == 0 {
port = "8080"
}
return ":" + port
}
二进制“main”在独立运行时按预期运行。所以go文件的内容是没有问题的。
胡说叔叔
慕田峪9158850
docker 如何查看已存在容器的创建命令
如何在容器中运行docker命令
如何在Docker容器中运行Apache服务器
如何在docker centos容器中使用systemd
相关分类