有了阿尔卑斯,阿尔卑斯完全支持最新版本的图书库,我可以在我的Dockerfile中执行apk add,并完成以下工作:
FROM golang:1.13-alpine3.10 as builder
WORKDIR /app
COPY go.mod go.sum ./
COPY src ./src/
RUN set -eux; \
apk add --no-cache gcc git libc-dev librdkafka-dev; \
go build -o ./ ./...现在,对于一个特定的项目,我需要使Debian友好的二进制文件,这将运行在Debian/Ubuntu服务器上。
问题是:
我的选择:
推荐的解决方案是什么?
发布于 2019-09-30 08:01:55
这是对我有效的解决办法。我不得不从源代码下载它,它给出了最新的版本。
示例Dockerfile如下所示:
FROM golang:1.12.9-alpine AS build-stage
LABEL app="application_name"
ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# Because of https://github.com/docker/docker/issues/14914
# required by go get
RUN apk add --update --no-cache alpine-sdk bash python ca-certificates \
libressl \
tar \
git openssh openssl yajl-dev zlib-dev cyrus-sasl-dev openssl-dev coreutils
WORKDIR /src/application_name
RUN git clone https://github.com/edenhill/librdkafka.git
WORKDIR /src/application_name/librdkafka
RUN /src/application_name/librdkafka/configure --prefix /usr
RUN make
RUN make install
WORKDIR /src/application_name
COPY . .
# build the application
RUN GOOS=linux go build -a -o image-name .https://stackoverflow.com/questions/58128541
复制相似问题