FROM rockylinux/rockylinux:8-ubi-init as rocky8-base LABEL maintainer="Robert Cowham " RUN dnf update -y; \ dnf install -y bc; \ dnf install -y cronie; \ dnf install -y curl; \ dnf install -y diffutils; \ dnf install -y file; \ dnf install -y findutils; \ dnf install -y perl; \ dnf install -y procps-ng; \ dnf install -y rsync; \ dnf install -y sudo; \ dnf install -y tar; \ dnf install -y which; \ dnf install -y wget; \ dnf install -y vim RUN dnf install -y openssh-server openssh-clients passwd; \ dnf clean all; \ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''; \ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' # ==================================================== FROM rocky8-base as rocky8-sdp LABEL maintainer="Robert Cowham " ADD setup_container.sh /tmp RUN /bin/bash -x /tmp/setup_container.sh ADD insecure_ssh_key.pub /tmp ADD insecure_ssh_key /tmp ADD setup_ssh.sh /tmp RUN /bin/bash -x /tmp/setup_ssh.sh # For SSH EXPOSE 22 RUN echo "Setting default memory limit..." && \ sh -c 'echo memory.limit=2048m >> /etc/systemd/system.conf' # Recommend resource allocation at runtime RUN echo "For optimal performance, consider running the container with --cpus=2 --memory=2g --storage-opt size=20G" USER perforce ADD files/reset_sdp.sh /p4/ ADD files/docker_entry.sh /p4/ ADD files/test_sdp.sh /p4/ ADD files/test_mkrep.sh /p4/ # From package.perforce.com: ADD files/perforce.rhel8.repo /tmp RUN sudo rpm --import https://package.perforce.com/perforce.pubkey RUN sudo cp -f /tmp/perforce.rhel8.repo /etc/yum.repos.d/perforce.repo RUN bash -lc 'curl -LsSf https://astral.sh/uv/install.sh | sh && \ export PATH="$HOME/.local/bin:$PATH" && \ uv python install 3.14 && \ uv venv --python 3.14 "$HOME/.venv" && \ . "$HOME/.venv/bin/activate" && \ uv pip install pytest-testinfra p4python' USER root CMD ["/sbin/init"]