Burrow icon indicating copy to clipboard operation
Burrow copied to clipboard

Dockerfile expects burrow to already be built

Open ianseyer opened this issue 7 years ago • 3 comments

The Dockerfile seems to expect you to provide the burrow binary, which seems to go against common expectations of portability for a Dockerfile. I could be wrong, but am curious as to why this decision was made? Why not just have the Dockerfile install burrow? If you want to use the iron + binary tactic for size purposes, I would provide both options out of the box.

In the Dockerfile:

ADD burrow /app/

In addition, the docker-compose.yml file mounts the docker-config directory to /etc/burrow, but the Dockerfile expects you to do that manually. Wouldn't it make more sense to have the Dockerfile simply require that you mount your config directory to /etc/burrow?

Also, it expects the binary to be lowercase, but it gets installed as uppercase.

For example:

FROM golang:alpine3.7
MAINTAINER LinkedIn Burrow "https://github.com/linkedin/Burrow"

RUN apk update
RUN apk add git

RUN go get github.com/linkedin/Burrow
WORKDIR src/github.com/linkedin/Burrow
RUN go install

RUN mkdir /app
WORKDIR /app
RUN mv /go/bin/Burrow ./burrow

CMD ["/app/burrow", "--config-dir", "/etc/burrow"]

ianseyer avatar Jan 08 '18 04:01 ianseyer

@ianseyer I hit this as well. Here's the Dockerfile I'm using locally for now if it's helpful. I volume-mount my burrow.toml into /etc/burrow/:

FROM golang:1.9.2-alpine3.7 as builder
RUN apk update && apk add git
RUN go get github.com/linkedin/Burrow

FROM alpine:3.7
WORKDIR /app/
COPY --from=builder /go/bin/Burrow .
CMD ["/app/Burrow", "--config-dir", "/etc/burrow"]

woodlee avatar Jan 08 '18 19:01 woodlee

The Dockerfile for the project was created to build the image as part of the release process, where it could then be posted for download. We've seen a number of issues with people having problems building the Docker image and then posting here about it, because the steps were convoluted, and therefore people ran into a lot of problems with certificates, and with downloading things to compile.

Given that nobody appears to be happy either way, and Docker is not a core part of this project, I'm considering dropping the Dockerfile entirely and people can just maintain it themselves, or via a separate project for just the Docker build.

toddpalino avatar Jan 13 '18 16:01 toddpalino

it is 2022 now. Any chance to revisit this? Feel like having a docker image is pretty common.

maxisam avatar Aug 04 '22 21:08 maxisam