开始-使用CompileDaemon进行Docker自动重载

时间:2019-05-02 18:47:46

标签: docker go

我正在努力尝试使用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" 

我的项目结构如下

  • 应用
    • api
      • main.go

在我的docker-compose文件中,我设置了正确的卷,并且在本地进行更改时正在容器中更新文件。

在首次加载时,还使用CompileDaemon正确启动了该应用程序,但文件更改从未更新过。

在第一次加载时,我看到...

  

正在运行构建命令!
  建好。
  重新启动给定命令。

然后,即使我可以连接到容器并看到更改已反映在预期的文件中,我所做的任何更改都不会导致重新启动。

感谢您的帮助或想法!

1 个答案:

答案 0 :(得分:0)

确保已为要使用的服务安装了,这就是使热重装在Docker容器内起作用的原因

See the full explanation