在Docker-compose中开始多个服务

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

一个前端从互联网上收听; 它将消息放在消息中介上; 该消息被后端消耗。

我有一个docker-compose文件的前端和消息代理,一个消息代理和后端,这两个工作得很好。 不过,我需要一个完整的docker服务器,将所有这3个服务组合在一起。

主要的问题是前端和后端需要开始使用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. 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"] 

我有这样的印象,我正在运行在错误的目录内,我该如何解决?

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