-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdockerfile.arm64
41 lines (33 loc) · 1.74 KB
/
dockerfile.arm64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM arm64v8/ubuntu:20.04
LABEL maintainer="Vitaliy Shemet <[email protected]>"
ENV TZ=Europe/Berlin
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN export TZ=Europe/Berlin && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Base dev packages and OS tools, including mono and boost other library dependencies
RUN apt-get update && apt-get upgrade -y && apt-get install -y \
build-essential git nano gnupg apt-utils unzip sudo bzip2 \
apt-transport-https curl wget ca-certificates cpio \
mono-complete libboost-dev uuid-dev libssl-dev software-properties-common \
jq libopenal-dev freeglut3-dev libglew-dev ocl-icd-opencl-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Download the latest `nuget.exe` to `/usr/local/bin` and alias
RUN curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe && \
alias nuget="mono /usr/local/bin/nuget.exe"
# Add cmake 3.31.4
RUN mkdir -p /usr/src/cmake \
&& curl -L https://github.com/Kitware/CMake/releases/download/v3.31.4/cmake-3.31.4-linux-aarch64.tar.gz -o /usr/src/cmake/cmake.tar.gz -sS \
&& tar -C /usr/src/cmake -xvzf /usr/src/cmake/cmake.tar.gz \
&& ln -s /usr/src/cmake/cmake-3.31.4-linux-aarch64/bin/cmake /usr/bin/cmake \
&& rm /usr/src/cmake/cmake.tar.gz
# Add tini, for managing container init
ENV TINI_VERSION v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64 /usr/bin/tini
RUN chmod +x /usr/bin/tini
ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/bin/bash" ]
SHELL ["/bin/bash", "-c"]