Skip to content

Commit 1bbd85e

Browse files
committed
Fix Docker builds
Currently, Docker builds fail due to the use of the errors package. This change updates the version of Go. In addition, this also adds a Makefile rule for building Docker images.
1 parent 46f8a72 commit 1bbd85e

3 files changed

Lines changed: 26 additions & 17 deletions

File tree

Dockerfile

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
FROM golang:1.12.4 AS builder
1+
FROM golang:1.14 AS build
2+
COPY . /go/src/nats-kafka
3+
WORKDIR /go/src/nats-kafka
4+
RUN make nats-kafka.docker
25

3-
WORKDIR /src/nats-kafka
6+
FROM alpine:latest as osdeps
7+
RUN apk add --no-cache ca-certificates
48

59
LABEL maintainer "Stephen Asbury <sasbury@nats.io>"
10+
LABEL maintainer "Jaime Piña <jaime@nats.io>"
611

7-
COPY . .
8-
9-
RUN go mod download
10-
RUN CGO_ENABLED=0 go build -v -a -tags netgo -installsuffix netgo -o /nats-kafka
11-
12-
FROM alpine:3.9
13-
14-
RUN mkdir -p /nats/bin && mkdir /nats/conf
15-
16-
COPY --from=builder /nats-kafka /nats/bin/nats-kafka
17-
18-
RUN ln -ns /nats/bin/nats-kafka /bin/nats-kafka
12+
FROM scratch
13+
COPY --from=build /go/src/nats-kafka/nats-kafka.docker /bin/nats-kafka
14+
COPY --from=osdeps /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
1915

2016
ENTRYPOINT ["/bin/nats-kafka"]

Makefile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,16 @@ run-test-cover:
6666
go test -count=1 -timeout 5m -coverpkg=./... -coverprofile=cover.out ./...
6767
go tool cover -html=cover.out
6868
rm cover.out
69+
70+
nats-kafka.docker: $(goSrc)
71+
CGO_ENABLED=0 go build -o $@ \
72+
-tags timetzdata
73+
74+
.PHONY: docker
75+
docker: Dockerfile
76+
ifneq ($(dtag),)
77+
docker build --tag natsio/nats-kafka:$(dtag) .
78+
else
79+
# Missing dtag, try again. Example: make docker dtag=1.2.3
80+
exit 1
81+
endif

docs/buildandrun.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@ Targets
3838
You can build the docker image using:
3939

4040
```bash
41-
% docker build . -t "nats-io/nats-kafka:0.5"
41+
% make docker dtag=0.5
4242
```
4343

4444
Then run it with:
4545

4646
```bash
47-
% docker run -v <path to config>:/conf/kafkabridge.conf "nats-io/nats-kafka:0.5" -c /conf/kafkabridge.conf
47+
% docker run -v <path to config>:/conf/kafkabridge.conf "natsio/nats-kafka:0.2.0" -c /conf/kafkabridge.conf
4848
```
4949

5050
Be sure to include your monitoring port, for example, if port 9090 is used for monitoring, you can run with:
5151

5252
```bash
53-
% docker run -v <path to config>:/conf/kafkabridge.conf -p 9090:9090 "nats-io/nats-kafka:0.5" -c /conf/kafkabridge.conf
53+
% docker run -v <path to config>:/conf/kafkabridge.conf -p 9090:9090 "natsio/nats-kafka:0.2.0" -c /conf/kafkabridge.conf
5454
```

0 commit comments

Comments
 (0)