docker. failed to solve executor (exit code: 1)
docker-compose при сборке выдает следующую ошибку:
=> CANCELED [5/5] RUN go build -o consumer-app ./cmd/consumer/main.go 16.7s
failed to solve: executor failed running [/bin/sh -c go build -o producer-app ./cmd/producer/main.go]: exit code: 1
Задача запустить два мейника в отдельных контейнерах, но использовать одную и ту же папку для сборки образов.
Мейники лежат по следующей структуре:
cmd/producer/main.go
cmd/consumer/main.go
Два Dockerfile:
docker/consumer/Dockerfile
docker/producer/Dockerfile
Dockerfile consumer:
FROM golang:1.20
RUN go version
ENV GOPATH=/
COPY ./ ./
RUN go mod download
RUN go build -o consumer-app ./cmd/consumer/main.go
CMD ["./consumer-app/cmd/consumer"]
Dockerfile producer:
FROM golang:1.20
RUN go version
ENV GOPATH=/
COPY ./ ./
RUN go mod download
RUN go build -o producer-app ./cmd/producer/main.go
CMD ["./producer-app/cmd/producer"]
В docker compose опущу данные кафки и кипера), опишу что касается двух сервисов. docker-compose:
consumer:
build:
context: .
dockerfile: './docker/consumer/Dockerfile'
container_name: "consumer"
ports:
- "8081:8081"
depends_on:
- broker
producer:
build:
context: .
dockerfile: './docker/producer/Dockerfile'
container_name: "producer"
ports:
- "8080:8080"
depends_on:
- broker
Подскажите, что я делаю не так??
Источник: Stack Overflow на русском