1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/banyanhouse-distill-base

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Dockerfile 1.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Lyndon Hu Отправлено 22.05.2020 06:01 b59d44f
# Compile stage
# 这一步是为了使用go容器对我们的代码进行编译
FROM golang:1.13.8 AS build-env
# 以上面的镜像为基础,把代码搞里头
ADD . /distill-base
# 进入工作目录
WORKDIR /distill-base
# 设定参数
ENV GOOS linux
ENV GOARCH amd64
ENV CGO_ENABLED=0
ENV GOFLAGS "-ldflags=-w -ldflags=-s"
ENV GO111MODULE=on
# 为避免编译时再down一遍相关依赖包,我们启动了vendor
ENV GOFLAGS=" -mod=vendor"
# 这里设置的是代理,建议大家还是不要用我的,自己去goproxy.io上面申请自己的玩一下
ENV GOPROXY=https://yz271544:UbFWoA20KLRShpM@goproxy.io,direct
# 这一行是真正的编译
RUN go build -o /brun brun/main.go
# Final stage
# 下面才是真正把编译后的程序打成一个新的镜像的过程,为尽量小一些,我们采用了各方建议的debian,其他的也行,看个人爱好
FROM debian:buster
#FROM centos:centos8
# 暴露端口
EXPOSE 18185
# 设定工作目录
WORKDIR /
# 为我们调试方便,安装一下下面的内容,方便我们可以exec到容器后,可以使用基本的linux操作命令
#RUN dnf -y install coreutils --allowerasing
RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
RUN apt-get install -y coreutils
# 好了,从编译容器中,将配置目录复制过来
COPY --from=build-env /distill-base/config /config
# 再从编译容器中,将编译完的程序复制过来
COPY --from=build-env /brun /
# 设定权限
RUN chmod +x /brun
# 设定启动命令
CMD ["/brun"]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/banyanhouse-distill-base.git
git@api.gitlife.ru:oschina-mirror/banyanhouse-distill-base.git
oschina-mirror
banyanhouse-distill-base
banyanhouse-distill-base
master