gpt4 book ai didi

makefile - 以docker-compose内部的make开头的多种服务

转载 作者:行者123 更新时间:2023-12-02 19:40:20 26 4
gpt4 key购买 nike

我有一个相当简单的架构。

前端从互联网上收听;将消息放在消息代理上;该消息被后端使用。

我有一个用于前端和消息代理的docker-compose文件,一个用于消息代理和后端的文件,两者都工作得很好。但是我需要一个完整的docker-compose和所有这三个服务一起。

主要问题是前端和后端都需要开始使用make。

例如,前端:

frontend:
build: .
command: make serve
depends_on:
- message_broker

message_broker:
image: message/broker

后端几乎相同。

现在,我试图将两者结合在一起:
frontend:
build: frontend
command: make serve
depends_on:
- message_broker

backend:
build: backend
command: make serve
depends_on:
- message_broker
- frontend

message_broker:
image: message/broker

但是,当我尝试使用 docker-compose up运行它时,我得到了服务,前端和后端的 make: *** No rule to make target 'serve'. Stop.

当然,每个Makefile中都有 serve的规则。

单个dockerfile像这样:
FROM golang:1.6.2

ENV PROJECT_PATH=/go/src/github.com/brocaar/lora-semtech-bridge
ENV PATH=$PATH:$PROJECT_PATH/build

# install tools
RUN go get github.com/golang/lint/golint
RUN go get github.com/kisielk/errcheck

# setup work directory
RUN mkdir -p $PROJECT_PATH
WORKDIR $PROJECT_PATH

# copy source code
COPY . $PROJECT_PATH

# build
RUN make build

CMD ["semtech-bridge"]

我觉得我在错误的目录中运行make,我该如何解决?

最佳答案

您的印象是正确的。 :p在Dockerfile中设置WORKDIR

关于makefile - 以docker-compose内部的make开头的多种服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com