我正在努力尝试使用Docker和Go改善开发环境,但是当文件发生更改时,我正在努力使容器中的自动重新加载工作。如果重要的话,我正在Windows上运行Docker Desktop版本18.09.1。
我正在使用CompileDaemon重新加载,并且我的DockerFile定义如下
FROM golang:1.11-alpine
RUN apk add --no-cache ca-certificates git
RUN go get github.com/githubnemo/CompileDaemon
WORKDIR /go/src/github.com/testrepo/app
COPY . .
EXPOSE 8080
ENTRYPOINT CompileDaemon -log-prefix=false -directory="." -build="go build /go/src/github.com/testrepo/app/cmd/api/main.go" -command="/go/src/github.com/testrepo/app/main"
我的项目结构如下
在我的docker-compose文件中,我设置了正确的卷,并且在本地进行更改时正在容器中更新文件。
在首次加载时,还使用CompileDaemon正确启动了该应用程序,但文件更改从未更新过。
在第一次加载时,我看到...
正在运行构建命令!
建好。
重新启动给定命令。
然后,即使我可以连接到容器并看到更改已反映在预期的文件中,我所做的任何更改都不会导致重新启动。
感谢您的帮助或想法!