mysql docker容器经常崩溃

时间:2016-01-18 04:41:05

标签: mysql wordpress docker mariadb botnet

我正在使用mariadb和wordpress容器。但是这个错误一直在发生。我怎样才能确保不再发生这种崩溃?我被攻击了吗?或者是其他人遇到的问题?我如何附加到mariadb并访问shell并尝试找出mariadb容器内部的内容?

请参阅下面每次崩溃后记录的消息......似乎也有大量的网页点击。页面访问量在页面上达到20.000到60.000次点击。这些似乎是爬虫,机器人的工作。不确定这些是否是恶意攻击。

有关如何处理此问题的任何帮助?

我有mariadb,wordpress和phpmyadmin在数字海洋上的ubuntu 14下的三个docker容器中工作。 以下是崩溃消息:

[1668002.926214]内存不足:杀死进程16765(mysqld)得分176或牺牲孩子[1668002.935614]杀死进程16765(mysqld)total-vm:1012836kb,anon-rss:178840kb,file-rss:0kb [1668040.992415] kill process 22570(php5-fpm)total-vm:418044kB,anon-rss:145392kB,file-rss:20624kB

纽约服务器: [1225007.977126]内存不足:杀死进程3161(mysqld)得分245或牺牲孩子[ 1225007.985657] kill process 3161(mysqld)total-vm:977148kb,anon-rss:122488kb,file-rss:0kB)

法兰克福服务器 [1632264.057873]内存不足:杀死进程22421(mysqld)得分246或牺牲孩子 [1632264.067530]已杀死进程22421(mysqld)total-vm:1005228kb,anon-rss:249328kb,file-rss:0kb

1 个答案:

答案 0 :(得分:4)

Docker Hub上的官方MySQL映像使用MySQL推荐的配置。基本上,默认配置是针对性能进行调整的,用于在专用服务器上运行MySQL,具有大量内存(多个千兆字节)。

根据您的要求和可用资源调整MySQL设置

在小型DigitalOcean Droplet(512MB,1GB)的容器中运行MySQL时,您必须修改默认设置以适合您的情况。例如;限制最大并发连接数,减少查询缓存等。

另请注意,默认情况下,DigitalOcean小滴没有配置交换,这意味着如果内存不足,则无法使用SSD进行交换。在这些水滴上配置Swap非常重要,这样如果MySQL暂时需要更多内存(例如重新构建数据库时),MySQL不会崩溃。

本文介绍如何在DigitalOcean上的Ubuntu 14.04上配置Swap分区; How To Add Swap on Ubuntu 14.04

官方MySQL Docker存储库中的以下问题包含一些调整MySQL设置的“性能”或“内存效率”的提示;

Docker Hub上的MySQL自述文件描述了如何使用自定义配置文件; "Using a custom MySQL configuration file"

相关问题