76 lines
2.4 KiB
Docker
76 lines
2.4 KiB
Docker
FROM ubuntu:20.04
|
|
|
|
# common environemnt variables
|
|
ENV NB_USER jovyan
|
|
ENV NB_UID 1000
|
|
ENV NB_PREFIX /
|
|
ENV HOME /home/$NB_USER
|
|
ENV SHELL /bin/bash
|
|
|
|
# args - software versions
|
|
ARG KUBECTL_ARCH="amd64"
|
|
ARG KUBECTL_VERSION=v1.21.0
|
|
ARG S6_ARCH="amd64"
|
|
# renovate: datasource=github-tags depName=just-containers/s6-overlay versioning=loose
|
|
ARG S6_VERSION=v2.2.0.3
|
|
|
|
# set shell to bash
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
# install - usefull linux packages
|
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get -yq update \
|
|
&& apt-get -yq install --no-install-recommends \
|
|
apt-transport-https \
|
|
bash \
|
|
bzip2 \
|
|
ca-certificates \
|
|
curl \
|
|
git \
|
|
gnupg \
|
|
gnupg2 \
|
|
locales \
|
|
lsb-release \
|
|
nano \
|
|
software-properties-common \
|
|
tzdata \
|
|
unzip \
|
|
vim \
|
|
wget \
|
|
zip \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# install - s6 overlay
|
|
RUN export GNUPGHOME=/tmp/ \
|
|
&& curl -sL "https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-${S6_ARCH}-installer" -o /tmp/s6-overlay-${S6_VERSION}-installer \
|
|
&& curl -sL "https://github.com/just-containers/s6-overlay/releases/download/${S6_VERSION}/s6-overlay-${S6_ARCH}-installer.sig" -o /tmp/s6-overlay-${S6_VERSION}-installer.sig \
|
|
&& gpg --keyserver keys.gnupg.net --keyserver pgp.surfnet.nl --recv-keys 6101B2783B2FD161 \
|
|
&& gpg -q --verify /tmp/s6-overlay-${S6_VERSION}-installer.sig /tmp/s6-overlay-${S6_VERSION}-installer \
|
|
&& chmod +x /tmp/s6-overlay-${S6_VERSION}-installer \
|
|
&& /tmp/s6-overlay-${S6_VERSION}-installer / \
|
|
&& rm /tmp/s6-overlay-${S6_VERSION}-installer.sig /tmp/s6-overlay-${S6_VERSION}-installer
|
|
|
|
# install - kubectl
|
|
RUN curl -sL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${KUBECTL_ARCH}/kubectl" -o /usr/local/bin/kubectl \
|
|
&& curl -sL "https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/${KUBECTL_ARCH}/kubectl.sha256" -o /tmp/kubectl.sha256 \
|
|
&& echo "$(cat /tmp/kubectl.sha256) /usr/local/bin/kubectl" | sha256sum --check \
|
|
&& rm /tmp/kubectl.sha256 \
|
|
&& chmod +x /usr/local/bin/kubectl
|
|
|
|
# create user and set required ownership
|
|
RUN useradd -M -s /bin/bash -N -u ${NB_UID} ${NB_USER} \
|
|
&& mkdir -p ${HOME} \
|
|
&& chown -R ${NB_USER}:users ${HOME} \
|
|
&& chown -R ${NB_USER}:users /usr/local/bin \
|
|
&& chown -R ${NB_USER}:users /etc/s6
|
|
|
|
# set locale configs
|
|
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
|
|
&& locale-gen
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US.UTF-8
|
|
ENV LC_ALL en_US.UTF-8
|
|
|
|
USER $NB_UID
|