Makefile.amIMAGE = zerolabssyseng/go
clean-local:
docker rmi $(CLEAN_OPTIONS) $(IMAGE):$(TAG) || true
build:
docker build $(BUILD_OPTIONS) --build-arg TAG=${TAG} -t $(IMAGE):$(TAG) .
pull:
docker pull $(PULL_OPTIONS) $(IMAGE):$(TAG)
push: build
docker push $(PUSH_OPTIONS) $(IMAGE):$(TAG)
makemake [options]:
clean-local
build
pull
push
# ================================================================================================
# GET GOLANG FROM CONTAINER "BUILDER"
# ================================================================================================
ARG GOLANG_VERSION
ARG ALPINE_VERSION
FROM golang:${GOLANG_VERSION:-1.13}-alpine${ALPINE_VERSION:-3.10} as golang
# ================================================================================================
# BUILD MAIN CONTAINER
# ================================================================================================
ARG TAG
FROM zerolabssyseng/base-consul:${TAG:-latest}
MAINTAINER "System Engineer (SysEng)"
ENV GOPATH=/go \
GOROOT=/usr/local/go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
ENV GOLANG_DEP_URL="https://raw.githubusercontent.com/golang/dep/master/install.sh"
ENV GOLANG_DEP_GIT="github.com/golang/dep/cmd/dep"
RUN mkdir -p $GOROOT
COPY --from=golang /usr/local/go $GOROOT
##### Setup Environment ~/.bashrc #####
COPY rootfs/ /
RUN source ~/.bashrc
RUN apk update && \
apk upgrade && \
apk add openrc bash git bind-tools ca-certificates curl jq openssh tar
RUN set -eux; \
go get -u ${GOLANG_DEP_GIT} && \
apk del curl tar && \
rm -rf /var/cache/apk/*
##### Setup Host Keys #####
RUN /usr/bin/ssh-keygen -f /etc/ssh/ssh_host_rsa_key -q -N "" -t rsa
RUN /usr/bin/ssh-keygen -f /etc/ssh/ssh_host_dsa_key -q -N "" -t dsa
##### Setup SSH Keygen #####
RUN git config --global user.name "System Engineer (SysEng)"
RUN git config --global user.email "[email protected]"
RUN /usr/bin/ssh-keygen -t rsa -b 4096 -C "[email protected]" -f $HOME/.ssh/id_rsa -q -N "";
WORKDIR $GOPATH
ENTRYPOINT [ "/init" ]
EXPOSE 22
version: '3.5'
volumes:
go:
services:
go:
image: zerolabssyseng/go:latest
container_name: zerolabssyseng_go
ports:
- "221:22"
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- ENV=local # environment name
- ALPINE_VERSION=3.10
- GOLANG_VERSION=1.13
- GOLANG_INSTALL_URL="https://raw.githubusercontent.com/zeroc0d3/golang-tools-install-script/golang-v${GOLANG_VERSION}/goinstall.sh"
- GOLANG_DEP_URL="https://raw.githubusercontent.com/golang/dep/master/install.sh"
- GOLANG_DEP_GIT="github.com/golang/dep/cmd/dep"
- GOPATH=/go
- GOROOT=/usr/local/go
Content type
Image
Digest
Size
175.7 MB
Last updated
almost 7 years ago
docker pull zerolabssyseng/go