FROM ubuntu:latest # Use Ubuntu image from Aliyun RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ sed -i 's/ports.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list RUN apt-get update && apt-get install -y wget # Install languages environment ARG LANGS RUN for LANG in $LANGS; do \ case $LANG in \ python) \ apt-get install -y python3.10 && \ update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 ;; \ cpp) \ apt-get install -y g++ gdb ;; \ java) \ apt-get install -y openjdk-17-jdk ;; \ csharp) \ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ apt-get update && \ apt-get install -y dotnet-sdk-6.0 ;; \ # More languages... *) \ echo "Warning: No installation workflow for $LANG" ;; \ esac \ done WORKDIR /codes COPY ./ ./ CMD ["/bin/bash"]