这几天我一直在尝试 Docker。我正在使用一个 Drupal 镜像 (docker4drupal),它基本上包含 MySQL (MariaDB)、PHP (php-fpm) 和 NGINX。
几乎每次我将数据库导入数据库容器时,在具有 512MB RAM 的 VPS 上,带有 MariaDB 的容器都会死掉......并且出现“MySQL 服务器已消失”之类的消息......当我的 VPS 有1GB 或 2GB 内存。
所以,这似乎是一个内存问题,但我需要证据!我不知道告诉我容器因内存不足而死亡的日志在哪里。
我检查了 MariaDB 日志,但我找不到任何东西......它的日志只说“数据库没有正常关闭”和“它正在启动”然后“等待连接”......
所以,独立于我的 MariaDB 配置(这不适合 512MB VPS)......我在哪里可以明确找到带有数据库服务器的容器死亡的原因?
欢迎任何帮助。
非常感谢。
PD:我从 PHP 容器执行 mysql cli,这就是为什么尽管数据库容器死了我仍然可以看到发生错误的输出。
最佳答案
可能是内核在“内存不足”事件中终止最消耗内存的进程。主机系统日志中可能存在一些条目。但是,缺少此类条目并不能保证不是内核杀死了您的数据库。
确切的文件名取决于主机系统配置(在您的情况下是指 VPS)。可能是/var/log/{system.log,error.log, ...}。
只要 docker 容器不是一个孤立的 VM,而是内核驱动的 cgroup 的包装器,内核事件就由主机系统登录守护进程处理
关于mysql - Docker容器、内存消耗和日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186747/