Как увеличить размер /dev/shm в контейнере докера

В настоящее время Когда я создаю новый контейнер докеров, размер каталога разделяемой памяти ограничен 64 МБ. Но мне нужно увеличить этот размер, поскольку мое приложение зависит от этой общей памяти. Есть ли способ увеличить размер /dev/shm в контейнере докера? Я слышал, что 64 МБ жестко закодирован в коде докера, как установить докер из источника и изменить значение/dev/shm?

Ответ 1

Вы можете изменить размер --shm-size передав необязательный параметр --shm-size в команду docker run. Значение по умолчанию составляет 64 МБ.

например:

docker run -it --shm-size=256m oracle11g /bin/bash

Ответ 2

Если вы используете docker-compose для настройки вашей среды docker, также можно установить общую память в файле конфигурации docker-compose.yml (начиная с версии 3.5 формата файла):

build:
  context: .
  shm_size: '2gb'

Дополнительная информация: https://docs.docker.com/compose/compose-file/#shm_size

Ответ 3

Если вы используете docker-compose, вы можете установить значение your_service.shm_size если хотите, чтобы ваш контейнер использовал этот размер /dev/shm при запуске или your_service.build.shm_size при сборке.

Пример:

version: '3.5'
services:
  your_service:
    build:
      context: .
      shm_size: '2gb' <-- this will set the size when BUILDING
    shm_size: '2gb' <-- when RUNNING 

Ссылка на источник.