我在当地进行了测试,它在我的本地工作完全没问题。我可以从邮政,GET方法获得响应。
但是,当我对应用程序进行泊坞化并尝试测试相同的终结点时,我什么也得不到。我已经尝试了这里的所有建议 堆栈溢出.因此,我将粘贴我的泊坞文件和生成文件,以获得您对它的意见。
我的泊坞文件:
FROM golang:1.16.5 AS build-env
RUN set -x \
&& apt-get update -y \
&& apt-get install -y locales \
make \
xz-utils \
zip \
&& rm -rf /var/lib/apt/lists/*
FROM build-env AS builder
WORKDIR /build
COPY . .
RUN set -x \
&& make
FROM debian:buster AS runner
RUN set -x \
&& apt-get update -y \
&& apt-get install -y ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates
COPY --from=builder /build/bin/* .
CMD ["./applicaitonx"]
和我的生成文件:
build:
go build -o bin/applicaitonx -v -buildmode=exe .
为了能够构建泊坞,我使用以下命令;
docker build -t app .
然后我运行它。
我看到应用程序正在运行,并且监听和serve根本没有抛出错误。但是多路复用器根本不是路由。它说它听,但它没有。我还将复制以下部分main.go
srv := &http.Server{
Handler: router,
Addr: ":" + os.Getenv("PORT"),
}
if err := srv.ListenAndServe(); err != nil {
log.Fatal("ListenAndServe: ", err)
}
我检查了所有 env 变量,因此不返回空值。我对此很确定。我写了一些调试注释,据我所知,代码甚至没有调试注释。所以它根本不会打印任何东西。os.GetEnv("PORT")
郎朗坤
相关分类