Sign inSign up

djieno/alpine-docker-compose-kubectl

By djieno

•Updated over 7 years ago

Image
0

100

djieno/alpine-docker-compose-kubectl repository overview

This docker image is based on the standard Alpine image with additional docker-compose and kubectl installed. This way it's easy to use it as a gitlab runner task to be able to do docker-compose up -d and deploy manifest by using kubectl in your (Gitlab) pipeline.

⁠Dockerfile

user@server:~/repos/alpine-docker-compose-kubectl$ cat Dockerfile.amd64 
FROM alpine:latest

RUN apk add --no-cache --update curl && \
        curl -L -o /usr/bin/kubectl "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" && \
        chmod +x /usr/bin/kubectl
        #rm /usr/bin/kubectl 

RUN GLIBC_VERSION='2.29-r0' && \
    apk --no-cache add ca-certificates curl && \
    curl -Lo /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
    curl -Lo glibc-${GLIBC_VERSION}.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.29-r0/glibc-2.29-r0.apk && \
    apk add glibc-${GLIBC_VERSION}.apk && \
    rm -rf /var/cache/apk/* && \
    rm glibc-${GLIBC_VERSION}.apk 
    
RUN curl -Lso /tmp/libz.tar.xz https://www.archlinux.org/packages/core/x86_64/zlib/download && \
    mkdir -p /tmp/libz && \
    tar -xf /tmp/libz.tar.xz -C /tmp/libz && \
    cp /tmp/libz/usr/lib/libz.so.* /usr/glibc-compat/lib

RUN apk add --no-cache -t .deps ca-certificates curl && \
    DOCKER_COMPOSE_URL=https://github.com$(curl -L https://github.com/docker/compose/releases/latest | grep -Eo 'href="[^"]+docker-compose-Linux-x86_64' | sed 's/^href="//' | head -1) && \
    curl -Lo /usr/local/bin/docker-compose $DOCKER_COMPOSE_URL && \
    chmod a+rx /usr/local/bin/docker-compose && \
    apk del curl && \
    \
    # Basic check it works
    docker-compose version

ENTRYPOINT ["/usr/local/bin/docker-compose"]

⁠Below a snipped of a .gitlab-ci.yml stage


image: docker:latest
services:
- docker:dind

stages:
- test

cURL_orgy:
  stage: test
  tags:
    - kubernetes
  image: djieno/alpine-docker-compose-kubectl:amd64
  script:
    - export DOCKER_HOST=tcp://localhost:2375
    - docker-compose -f /djieno/dockers/docker-compose_k3s.yml up -d

Tag summary

Content type

Image

Digest

Size

29.6 MB

Last updated

over 7 years ago

docker pull djieno/alpine-docker-compose-kubectl:amd64