FROM ubuntu:focal ######################################################## # Essential packages for remote debugging and login in ######################################################## ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Moskow RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ lsb-release \ ca-certificates \ libssl-dev \ gnupg \ openssl RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \ sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' RUN apt-get update && apt-get install -y --no-install-recommends \ sudo postgresql-14 \ apt-utils \ build-essential \ cmake \ gcc \ g++ \ openssh-server \ cmake \ gdb \ gdbserver \ rsync \ libpam0g-dev \ valgrind \ libpq5 \ libpq-dev \ vim \ postgresql-common \ postgresql-server-dev-14 ADD . /code WORKDIR /code # Taken from - https://docs.docker.com/engine/examples/running_ssh_service/#environment-variables RUN mkdir /var/run/sshd RUN echo 'root:root' | chpasswd RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config # SSH login fix. Otherwise user is kicked off after login RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd ENV NOTVISIBLE "in users profile" RUN echo "export VISIBLE=now" >> /etc/profile # 22 for ssh server. 7777 for gdb server. EXPOSE 22 7777 RUN useradd -ms /bin/bash debugger RUN echo 'debugger:pwd' | chpasswd ######################################################## # Add custom packages and development environment here ######################################################## ######################################################## CMD ["/usr/sbin/sshd", "-D"]