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