Sign inSign up

zerolabssyseng/go

By zerolabssyseng

•Updated almost 7 years ago

GO (v1.13) Container

Image
0

1.9K

zerolabssyseng/go repository overview

⁠Go Container

⁠Configure Makefile.am
IMAGE = 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)
⁠Running with make
make [options]:
    clean-local
    build
    pull
    push
⁠Dockerfile
# ================================================================================================
#  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
⁠Docker Compose (Skeleton)
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

Tag summary

Content type

Image

Digest

Size

175.7 MB

Last updated

almost 7 years ago

docker pull zerolabssyseng/go