我当前的开发设置是一个 docker 文件,它在每次保存时使用CompileDaemon编译代码,并使用Delve进行调试。
目前我几乎可以完成所有工作。唯一的问题是,当我尝试再次启动调试时,该端口已在使用中。
他们是在 docker 容器内通过调试完成实时重新加载的更好方法吗?
Dockerfile:
FROM golang:latest
RUN go get github.com/githubnemo/CompileDaemon && \
go get github.com/go-delve/delve/cmd/dlv
WORKDIR /app
COPY go.* ./
RUN go mod download
COPY ./ ./
EXPOSE 5000 2345
# echo 1 is to block build command
ENTRYPOINT CompileDaemon --build="echo 1" --command="dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient cmd/app/main.go"
Run Code Online (Sandbox Code Playgroud)