Conforme o título é lido, estou tentando atribuir mais memória ao meu contêiner. Estou usando uma imagem do hub docker chamada "aallam / tomcat-mysql" caso seja relevante.
Quando eu inicio normalmente sem nenhum sinalizador especial, há um limite de memória de 2 GB (embora eu tenha lido que a memória é ilimitada se não for definida)
Aqui estão minhas estatísticas do 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
Tentei definir a memória explicitamente dessa forma, mas com os mesmos resultados
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
Eu li que talvez a VM seja o que o está restringindo. Mas então por que as estatísticas do docker mostram que o limite de tamanho do contêiner é de 2 GB?
fonte
Alocar o máximo de memória para sua máquina docker de (preferência docker -> avançar)
Captura de tela das configurações avançadas:
Isso definirá o limite máximo de consumo do docker durante a execução de contêineres. Agora execute sua imagem em um novo contêiner com a bandeira -m = 4g para 4 GB de RAM ou mais. por exemplo
Lembre-se de aplicar as alterações de aumento do limite de RAM. Reinicie o docker e verifique se o limite de RAM aumentou. Isso pode ser um dos fatores que você não vê o aumento do limite de memória RAM nos contêineres docker.
fonte
Se você deseja alterar o contêiner padrão e está usando o Virtualbox, pode fazer isso por meio da linha de comando / CLI:
fonte