Код: Выделить всё
FROM nvidia/cuda:12.6.3-runtime-ubuntu20.04
#Set environment variables to avoid some warnings during apt-get install
ENV DEBIAN_FRONTEND=noninteractive
#Install necessary dependencies
RUN apt-get update && \
apt-get install -y \
python3-pip \
python3-dev \
software-properties-common \
curl \
&& rm -rf /var/lib/apt/lists/*
#Add deadsnakes PPA and install Python 3.11 (stable for Ubuntu 20.04)
RUN add-apt-repository ppa:deadsnakes/ppa && \
apt-get update && \
apt-get install -y \
python3.11 \
python3.11-dev \
python3.11-venv \
python3.11-distutils && \
rm -rf /var/lib/apt/lists/*
#Install pip for Python 3.12
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3.11 get-pip.py && \
rm get-pip.py
#Ensure that `python3` points to Python 3.12
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
#Set working directory
WORKDIR /Python_Development
#Copy the requirements file and install dependencies
COPY requirements.txt ./
RUN python3.11 -m pip install --no-cache-dir -r requirements.txt
#Map drive
VOLUME ["/mnt/data"]
#Copy the application files into the container
COPY DLApplication/ ./DLApplication
CMD ["python3", "DLApplication/DLEntryPointSegmentation.py"]
Этот скрипт мне нужно запустить.
Когда я создаю этот образ и запускаю его следующим образом
docker run -v F:/mnt/data:/mnt/data -e CONFIG_JSON="JSON ИДЕТ ЗДЕСЬ С ESCAPED " " сегментацией: последняя версия
Я привязываю диск и предоставляю JSON указанному скрипту.
Контейнер запускается и работает как задумано.
Затем мне нужно преобразовать это изображение докера в изображение сингулярности.
Я сохраняю изображение докера с помощью
docker save -o сегментацииV3.tar: последняя
Затем я преобразую это в изображение сингулярности с
singularity build /path/segmentationV3.sif docker-archive:///path/segmentationV2.tar
это работает, однако каждый раз Я пытаюсь запустить образ сингулярности, но он, похоже, не находит >DLEntrypointSegmentation.py
Я заметил, что после запуска его с помощью
singularity exec /path/segmentationV3.sif ls
, работающий образ по-прежнему считает, что он находится внутри того места, где я выполнил команду в cmd , однако файл DLEntrypointSegmentation.py
должен находиться внутри изображения.
путь должен выглядеть примерно так
/path/IMAGE/DLApplication/DLEntrypointSegmentation.py
, но это похоже на
/path/ -> я запустил cmd здесь
Может кто-нибудь сказать мне, в чем заключается моя ошибка/где ее исправить?
Я новичок в сингулярности и немного затрудняюсь с поиском это
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/793 ... rom-docker
Мобильная версия