Golang revel框架在docker环境中热重载



我正在尝试按照这篇精彩文章中所述设置golang环境。我在OS X 10.10上使用Docker,并带有boot2docker (v1.3.0)和 fig.sh(1.0.1)。一切运行正常,但 revel 的热重载根本不起作用。有人遇到同样的问题或知道任何使热重载工作的解决方法吗?狂欢框架版本 0.11.1

Boot2docker 使用 VirtualBox,我假设 vboxsf 用于共享文件夹。 vboxsf 不会通知更改的文件。尝试将文件完全保留在虚拟机中。这有帮助吗?

对于 Dockerfile 来说,这样的事情怎么样

FROM golang:1.17.2-alpine AS build
# Add required packages
RUN apk add --update git curl bash
# Install revel framework
RUN go get -u github.com/revel/revel
RUN go get -u github.com/revel/cmd/revel
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
ENV CGO_ENABLED 0
ADD . .
ENTRYPOINT revel run

然后使用类似 docker compose 的东西运行:

version: '3.9'
services:
  go-revel-crud:
    build:
      context: .
      dockerfile: ./Dockerfile.local
    ports:
      - 8090:8090
    volumes:
      - .:/app
    environment:
      - ENV=dev
      - PORT=8090

将当前目录的卷装载到工作目录/app

查看本指南并附有完整解释

最新更新