首页 > 解决方案 > 当我尝试将实现用作热加载器时,我收到“找不到项目”消息

问题描述

我正在用杜松子酒开发一个网络应用程序,并且我已经安装了实现作为热重载工具。

在我的本地环境中,realize start工作正常,但是当我在 docker-compose 中运行它时,它说“找不到项目”并且不会启动服务器。

root@dcdaf6197639:/app# realize start
len [0/0]0x0
[15:37:06][APP] : Watching 14 file/s 14 folder/s
[15:37:06][APP] : Install started
[15:37:07][APP] : Install completed in 0.978 s
[15:37:07][APP] : Running...
[15:37:07][APP] : project not found
[15:37:07][APP] : project not found

这是我的 .realize.yaml

settings:
  legacy:
    force: false
    interval: 0s
schema:
- name: app
  path: .
  commands:
    run:
      status: true
  watcher:
    extensions:
    - go
    paths:
    - /
    ignore:
      paths:
      - .git
      - .realize
      - vendor

这是我的 Dockerflie

FROM golang:1.14-buster as builder

WORKDIR /app

COPY go.* ./
RUN go mod download
RUN go get github.com/oxequa/realize

这是我的 docker-compose.yml

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: ./Dockerfile
    container_name: app
    ports:
      - "8080:8080"
    depends_on:
      - mysql
    volumes:
      - .:/app
    command: bin/bash -c "realize start"

我在根目录中有 main.go。我很难理解原因。请帮我。

标签: dockergodocker-compose

解决方案


我遇到了同样的问题,尝试将您的.realize.yaml编辑为:

settings:
  legacy:
    force: false
    interval: 0s
schema:
- name: app
  path: .
  commands:
    install:
      status: true
      method: go build -o tmp/app.out main.go
    run:
      status: true
      method: tmp/app.out
  watcher:
    extensions:
    - go
    paths:
    - /
    ignore:
      paths:
      - .git
      - .realize
      - vendor

参考链接:gravityblast/issues/#99


推荐阅读