@Macaronin

Dockerfile как задать ограничение памяти?

Нашел код на гитхабе, он запускается через dockerfile, но я в этом совершенно не разбираюсь. Возникла необходимость задать лимит оперативной памяти меньше 512 мб. Я нашел инфу что для команды docker run это делается флагом --memory, но как это засунуть в докерфайл? Сам файл прикрепляю
FROM python:3.10
WORKDIR /opt
COPY . .
RUN apt-get update \
    && apt-get -y install ffmpeg git\
    && pip3 install --upgrade pip setuptools wheel \
    && pip3 install --no-cache-dir -r requirements.txt
RUN curl -o /root/nltk_data/tokenizers/punkt.zip \
    --create-dirs -L https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip \
    && unzip /root/nltk_data/tokenizers/punkt.zip -d /root/nltk_data/tokenizers/
EXPOSE 8000
CMD [ "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
  • Вопрос задан
  • 586 просмотров
Пригласить эксперта
Ответы на вопрос 2
В Dockerfile — никак.

Либо в параметрах запуска контейнера Runtime options with Memory, CPUs, and GPUs

Либо в docker-compose файле см. секцию deploy Например:
services:
  frontend:
    image: example/webapp
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
          pids: 1
        reservations:
          cpus: '0.25'
          memory: 20M
Ответ написан
Комментировать
@0x0f80
В Dockerfile напрямую нельзя задать ограничение на использование памяти. Dockerfile используется для создания образа, а ограничения ресурсов применяются на уровне контейнеров, когда они запускаются из образа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы