Currently When I create new docker container the size of the shared memory directory is limited to 64MB. But, I need to increase this size since my application depend on this shared memory. Is there any way to increase the size of /dev/shm in docker container? I heard that the 64MB is hard coded in the docker code, How to install docker from source and change the value of the /dev/shm?
You can modify shm size by passing the optional parameter --shm-size to docker run command. The default is 64MB.
eg:
docker run -it --shm-size=256m oracle11g /bin/bash
If you use docker-compose to set up your docker environment, it is also possible to set the shared memory in the docker-compose.yml configuration file (since the 3.5 version of the file format):
build:
context: .
shm_size: '2gb'
More info: https://docs.docker.com/compose/compose-file/#shm_size
If you're using docker-compose, you can set the your_service.shm_size value if you want your container to use that /dev/shm size when running or your_service.build.shm_size when building.
Example:
version: '3.5'
services:
your_service:
build:
context: .
shm_size: '2gb' <-- this will set the size when BUILDING
shm_size: '2gb' <-- when RUNNING
来源:https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container