Jenny Hilton
Jenny Hilton

Reputation: 1407

Docker for golang application

i've golang application which I want to build docker image for it the application folder called cloud-native-go and the dockerfile is under the root project Any idea what is wrong here ?

FROM golang:alpine3.7
WORKDIR /go/src/app
COPY . .
RUN apk add --no-cache git
RUN go-wrapper download   # "go get -d -v ./..."
RUN go-wrapper install    # "go install -v ./..."

#final stage
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /go/bin/app /app
ENTRYPOINT ./app
LABEL Name=cloud-native-go Version=0.0.1
EXPOSE 3000

The error is :

Step 5/12 : RUN go-wrapper download   # "go get -d -v ./..."
 ---> Running in 70c2e00f332d
/bin/sh: go-wrapper: not found

i Build it with

docker build -t cloud-native-go:1.0.0 .

Upvotes: 9

Views: 6015

Answers (2)

Nilo
Nilo

Reputation: 1

FROM golang:alpine

# important!
ENV GO111MODULE=on
ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64
ENV GOFLAGS=-mod=vendor
ENV APP_USER app
ENV APP_HOME /go/src/microservices

RUN mkdir /nameApp
ADD . /nameApp
WORKDIR /nameApp

//compile your project
RUN go mod vendor
RUN go build

//open the port 8000
EXPOSE 8000
CMD [ "/nameApp/nameApp" ]

Upvotes: 0

Jack Gore
Jack Gore

Reputation: 4242

go-wrapper has been deprecated and removed from the images using go version 10 and above. See here.

If you are fine using go v1.9 you can use the following image: golang:1.9.6-alpine3.7.

So your Dockerfile will be:

FROM golang:1.9.6-alpine3.7
WORKDIR /go/src/app
COPY . .
RUN apk add --no-cache git
RUN go-wrapper download   # "go get -d -v ./..."
RUN go-wrapper install    # "go install -v ./..."

#final stage
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /go/bin/app /app
ENTRYPOINT ./app
LABEL Name=cloud-native-go Version=0.0.1
EXPOSE 3000

Upvotes: 8

Related Questions