究竟在哪里以及如何在 docker-compose.yml 文件中放入 docker 将使用的最大内存限制?
version: "3"
services:
mysql:
image: "mysql:latest"
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: test
backend:
image: "backend:latest"
ports:
- 19001:19001
- 80:80
- "9001:9000"
environment:
DB_USERNAME: test
DB_PASSWORD: test
DB_URL: jdbc:mysql://mysql:3306/test
jdbc_url: jdbc:mysql://mysql:3306
JAVA_HOME: "/application/jdk8"
links:
- "mysql:mysql"
目前我正在运行一个后端应用程序,它的内存不足(因内存异常而崩溃) - 这是崩溃前的用法:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
71f94ad4b16c docker_backend_1 187.58% 1.113GiB / 1.952GiB 57.01% 92.4MB / 61.2MB 147MB / 180MB 73
dc2ec6cca410 docker_web_1 0.38% 95.71MiB / 1.952GiB 4.79% 2.05kB / 0B 59.6MB / 41kB 21
0960ca70127a docker_mysql_1 0.04% 277.3MiB / 1.952GiB 13.87% 60.2MB / 64.3MB 62.8MB / 3.58GB 51
最佳答案
看到1.952GiB
在 docker stats 输出中限制,我可以猜测问题出在 docker 机器的默认配置上:默认分配了 2GB 内存。
根据我的其他答案 here ,您可以看到如何配置 docker 以允许容器使用更多内存。
关于ubuntu - Docker - 内存问题 - 如何将其设置为更高的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49568948/