oc.template.ubuntu.minimal.20.04
from
Docker official images ubuntu:20.04
Container distribution release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
DockerFile
source code
ARG BASE_IMAGE
FROM ${BASE_IMAGE}
MAINTAINER Alexandre DEVELY
RUN mkdir -p /composer/init.d
COPY etc/ /etc
# correct debconf: (TERM is not set, so the dialog frontend is not usable.)
ENV DEBCONF_FRONTEND noninteractive
ENV TERM linux
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get update && apt-get install -y --no-install-recommends \
gnupg \
software-properties-common \
locales \
cups-client \
libpulse0 \
curl \
xauth \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
# default LANG is en_US
ENV LANG en_US.utf8
# copy compser source code
COPY composer /composer
# install nodejs and npm
# the default install version is 20
#
# read from https://github.com/nodesource/distributions
#
# | Distro Name | Node 16x | Node 18x | Node 20x |
# | :------------------- | :------: | :------: | :------: |
# | Ubuntu Bionic ^18.04 | OK | KO | KO |
# | Ubuntu Focal ^20.04 | OK | OK | OK |
# | Ubuntu Jammy ^22.04 | OK | OK | OK |
#
# if VERSION_ID == 18.04 then install nodejs 16 else install nodejs 20
RUN NODE_MAJOR=20; if [ "18.04" = "$(. /etc/os-release;echo $VERSION_ID)" ]; then NODE_MAJOR=16; fi; echo "node version install $NODE_MAJOR" && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update && \
apt-get install -y --no-install-recommends nodejs && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Add nodejs service
# ocrun can call create another container or pod
RUN cd /composer/node/ocrun && npm install
#
# create account
# Next command use $BUSER context
# this is the default user if no user defined
ENV BUSER balloon
# create group, user, set password
RUN groupadd --gid 4096 $BUSER && \
useradd --create-home --shell /bin/bash --uid 4096 -g $BUSER --groups $BUSER $BUSER && \
echo "balloon:lmdpocpetit" | chpasswd $BUSER
# allow default user to write in /var/log/desktop if no user defined
RUN mkdir -p /var/log/desktop && \
chown -R $BUSER:$BUSER /home/$BUSER /var/log/desktop
file oc.template.ubuntu.minimal.20.04.md is created at Sun May 05 2024 13:43:53 GMT+0000 (Coordinated Universal Time) by make-docs.js