Cómo asignar más memoria al contenedor docker
Como dice el título, estoy tratando de asignar más memoria a mi contenedor. Estoy usando una imagen de docker hub llamada "aallam / tomcat-mysql" en caso de que sea relevante.
Cuando lo inicio normalmente sin ningún indicador especial, hay un límite de memoria de 2 GB (a pesar de que leí que la memoria es ilimitada si no se establece)
Aquí están mis estadísticas docker
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
Intenté configurar la memoria explícitamente de esta manera, pero con los mismos resultados
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
He leído que tal vez la VM es lo que es restringiéndolo. Pero entonces, ¿por qué las estadísticas de docker muestran que el límite de tamaño del contenedor es de 2 GB?
2 answers
Ese límite 2GB
que ve es la memoria total de la máquina virtual en la que se ejecuta docker.
Si está utilizando docker-for-windows o docker-for-mac, puede aumentarlo fácilmente desde el icono de Ballena en la barra de tareas (vaya a Configuración, etc.)
Si está usando VirtualBox detrás, abra VirtualBox, Seleccione y configure la memoria asignada de docker-machine.
Vea esto para Mac:
Https://docs.docker.com/docker-for-mac/#memory
MEMORIA Predeterminada, Docker para Mac está configurado para usar 2 GB de memoria de tiempo de ejecución, asignada de la memoria total disponible en su Mac. Puede aumentar la RAM en la aplicación para obtener un rendimiento más rápido configurando este número más alto (por ejemplo, a 3) o más bajo (a 1) si desea que Docker para Mac use menos memoria.
Para Windows:
Https://docs.docker.com/docker-for-windows/#advanced
Memoria: Cambie la cantidad de memoria que usa la máquina virtual Docker para Windows Linux
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-14 00:20:35
Si desea cambiar el contenedor predeterminado y está utilizando Virtualbox, puede hacerlo a través de la línea de comandos / CLI:
docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-28 02:05:26