Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions Containerfile.compute_worker_podman
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ FROM fedora:37
RUN dnf -y update && \
# https://bugzilla.redhat.com/show_bug.cgi?id=1995337#c3
rpm --setcaps shadow-utils 2>/dev/null && \
dnf -y install podman fuse-overlayfs python3.8 python3-pip \
dnf -y install podman fuse-overlayfs python3.9 \
--exclude container-selinux && \
dnf clean all && \
rm -rf /var/cache /var/log/dnf* /var/log/yum.*

# Setup user
# Setup user
RUN useradd worker; \
echo -e "worker:1:999\nworker:1001:64535" > /etc/subuid; \
echo -e "worker:1:999\nworker:1001:64535" > /etc/subgid;
Expand Down Expand Up @@ -47,16 +47,23 @@ RUN echo -e "[registries.search]\nregistries = ['docker.io']\n" > /etc/container
ENV PYTHONUNBUFFERED 1
ENV CONTAINER_ENGINE_EXECUTABLE podman

# Get pip for 3.8
RUN python3.8 -m ensurepip --upgrade

WORKDIR /home/worker/compute_worker

ADD compute_worker/ /home/worker/compute_worker

RUN chown worker:worker -R /home/worker/compute_worker

RUN pip3.8 install -r /home/worker/compute_worker/compute_worker_requirements.txt
RUN curl -sSL https://install.python-poetry.org | python3.9 -
# Poetry location so future commands (below) work
ENV PATH $PATH:/root/.local/bin
# Want poetry to use system python of docker container
RUN poetry config virtualenvs.create false
RUN poetry config virtualenvs.in-project false
# So we get 3.9
RUN poetry config virtualenvs.prefer-active-python true
COPY ./compute_worker/pyproject.toml ./
COPY ./compute_worker/poetry.lock ./
RUN poetry install

CMD celery -A compute_worker worker \
-l info \
Expand Down
21 changes: 15 additions & 6 deletions Containerfile.compute_worker_podman_gpu
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ RUN curl -s -L https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x8
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
dnf -y update && \
dnf module install -y nvidia-driver:latest-dkms && \
dnf -y install podman fuse-overlayfs python3.8 python3-pip nvidia-container-runtime nvidia-container-toolkit \
dnf -y install podman fuse-overlayfs python3.9 nvidia-container-runtime nvidia-container-toolkit \
cuda --exclude container-selinux && \
dnf clean all && \
rm -rf /var/cache /var/log/dnf* /var/log/yum.*

# Setup user
# Setup user
RUN useradd worker; \
echo -e "worker:1:999\nworker:1001:64535" > /etc/subuid; \
echo -e "worker:1:999\nworker:1001:64535" > /etc/subgid;
Expand Down Expand Up @@ -49,15 +49,24 @@ RUN mkdir /codabench && \
chown worker:worker /codabench && \
# Set up podman registry for dockerhub
echo -e "[registries.search]\nregistries = ['docker.io']\n" > /etc/containers/registries.conf && \
# Get pip for 3.8
python3.8 -m ensurepip --upgrade

WORKDIR /home/worker/compute_worker

ADD compute_worker/ /home/worker/compute_worker

RUN chown worker:worker -R /home/worker/compute_worker && \
pip3.8 install -r /home/worker/compute_worker/compute_worker_requirements.txt
RUN curl -sSL https://install.python-poetry.org | python3.9 -
# Poetry location so future commands (below) work
ENV PATH $PATH:/root/.local/bin
# Want poetry to use system python of docker container
RUN poetry config virtualenvs.create false
RUN poetry config virtualenvs.in-project false
# So we get 3.9
RUN poetry config virtualenvs.prefer-active-python true
COPY ./compute_worker/pyproject.toml ./
COPY ./compute_worker/poetry.lock ./
RUN poetry install

RUN chown worker:worker -R /home/worker/compute_worker

CMD nvidia-smi && celery -A compute_worker worker \
-l info \
Expand Down