Tag: mysql

mysql的docker容器经常崩溃

我正在使用mariadb和wordpress容器。 但是这个错误不断发生。 我怎样才能确保这个崩溃不再发生? 我被攻击了吗? 还是这是其他人发生的问题? 我怎样才能连接到mariadb,并有机会获得壳,并试图找出在mariadb容器里面发生了什么? 看到下面每个崩溃后logging的消息…似乎也有大量的页面点击。 页面上的访问量可以达到20,000到60,000次。 这些似乎是爬虫,机器人的工作。 不知道这些是否是恶意攻击。 有关如何处理这个问题的任何帮助? 我有mariadb,wordpress和phpmyadmin工作在三个docker集装箱下的数字海洋ubuntu 14。 这里是崩溃消息: [1668002.926214]内存不足:杀死进程16765(mysqld)得分176或牺牲子女[1668002.935614]杀死进程16765(mysqld)total-vm:1012836kb,anon-rss:178840kb,file-rss:0kb [1668040.99241515]杀死进程22570 (php5-fpm)total-vm:418044kB,anon-rss:145392kB,file-rss:20624kB 杀死进程3161(mysqld)得分245或牺牲subprocess[1225007.985657]杀死进程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

使用Dockerfile设置MySQL

我刚刚开始使用Docker,并能够根据我的需要设置MySQL,运行tutum / lamp并执行一堆exec 。 例如: docker run -d -p 80:80 -p 3306:3306 –name test tutum/lamp … docker exec test mysqldump –host somehost –user someuser –password –databases somedatabase > dump.sql docker exec test mysql -u root < dump.sql 不过,我有问题将其转换为Dockerfile。 具体而言,以下ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' : FROM tutum/lamp EXPOSE 80 […]

Docker容器,内存消耗和日志

我一直在尝试Docker几天。 我使用的是基本上包含MySQL(MariaDB),PHP(php-fpm)和NGINX的Drupal镜像(docker4drupal)。 几乎每次我把数据库导入到数据库容器,在一个512MB RAM的VPS上,MariaDB的容器就会死掉,而像“MySQL服务器已经消失”这样的消息出现了……当我的VPS有1GB或2GB内存。 所以,这似乎是一个记忆问题,但我需要证据! 我不知道日志在哪里告诉我,我的容器因为内存不足而死亡。 我检查MariaDB日志,但我找不到任何东西…它只是说日志,像“数据库不正常关机”,并且“开始”,然后“wating连接”… 所以,独立于我的MariaDBconfiguration(这是不适合的512MB VPS)…我在哪里可以明确地find为什么容器与数据库服务器死亡的原因? 任何帮助是受欢迎的。 非常感谢。 PD:我从PHP容器执行mysql cli,这就是为什么尽pipe数据库容器死亡,我仍然可以看到输出发生了错误。

将SCP安装在Docker容器中

我目前正在使用docker来创build一个PHP开发环境。 有几个容器(nginx,php7 +数据容器,mysql +数据容器,phpmyadmin)运行并相互连接,目前工作正常。 为了方便起见,我将一些脚本添加到mysql容器中,以供其他开发人员使用,以便: 重置数据库到初始数据库 将数据库重置为生产数据库的当前转储 我提供了一个开发服务器,每15分钟从生产系统中提取一个实时转储,并将其放置在一个众所周知的目录中。 现在我想将第二个脚本添加到mysql容器,它基本上做到以下几点: 使用开发人员的SSH密钥(之前已经放置在可访问的文件夹中),连接到开发机器,获取SQL转储,并用此内容replace数据库。 我目前的问题是,我不知道如何获得数据。 我正在使用mysql映像作为基础映像,在容器内没有scp或类似的可用。 问题:如何实现上述问题? 我可以以某种方式在容器中安装scp命令? 我不想依靠运行在实际主机上的脚本,因为使用了各种操作系统。

运行docker django容器时无法连接到服务器?

我已经浏览了这个网站上的问题,但是我一直无法解决这个问题。 我创build并运行了我的django应用程序的图像,但是当我尝试从浏览器查看应用程序时,页面无法加载(无法build立与服务器的连接) 我正在使用docker工具箱,我正在使用OS X El Capitan和Macbook是从2009年。 容器IP是:192.168.99.100 django项目根被称为“Web应用程序”,是包含manage.py的目录。 我的Dockerfile和我的requirements.txt文件在这个目录下。 我的dockerfile是: 从python:3.5 WORKDIR / usr / src / app COPY requirements.txt ./ 运行pip install -r requirements.txt COPY。 。 EXPOSE 8000 CMD [“python”,“manage.py”,“runserver”,“0.0.0.0:8000”] 我的requirements.txt有django和mysqlclient 我的django应用程序使用Mysql,并试图在浏览器中查看dockerized django应用程序,而不必将其链接到标准的mysql映像。 在这两种情况下,我只看到“问题加载页面无法build立连接到服务器” 当我尝试将django容器链接到我使用的mysql容器时: docker运行 – 链接mysqlapp:mysql -d应用程序 在哪里mysqlapp是我的mysql图像和“应用程序”是我的Django图像 在我的django settings.py中,允许的主机是: ALLOWED_HOSTS:['localhost','127.0.0.1','0.0.0.0','192.168.99.100'] 同样,当我使用docker build时,图像被成功创build,并且成功地作为容器运行。 为什么页面不能在浏览器中加载?

如果一个服务在docker build期间启动,它应该在运行时运行吗?

我一直在努力在单个容器中设置一个独立的导轨应用程序。 这意味着同时在一个容器中同时运行rails和数据持久性服务。 在我们的例子中,这意味着MySQL。 但是,我遇到了多个问题得到这个工作,因为MySQL没有运行。 在构build步骤中,如果我RUN mysqld ,然后单独RUN rake db:create step,则rake将会崩溃,因为mysql已closures。 所以我通过将这两个命令包装到一个脚本中来解决这个问题。 但是,在运行时,rails将无法启动,因为mysql没有运行。 我的直觉说,如果在构build期间启动mysql,它应该在运行时可用,但我没有那种经验。 启动rails服务器必须用另一个mysqld调用包装在一个脚本中。 这里是dockerfile: FROM ruby:2.2 RUN mkdir -p $APPDIR WORKDIR $APPDIR ADD Gemfile* $APPDIR/ RUN bundle install RUN apt-get update -qq RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs mysql-server –no-install-recommends RUN rm -rf /var/lib/apt/lists/* # */ broken syntax highlighting COPY . $APPDIR RUN […]

java.net.InetAddress java类不能parsingAlpine Docker容器上的IP

当我在Alpine Linux上运行Java JDK 8的容器Docker中运行以下代码时 import java.io.*; import java.util.*; import java.net.*; public class SomaDBTest { public static void main(String… args) throws Throwable { InetAddress ip = InetAddress.getByName("mysql"); System.out.println("Begin – mysql IP Addr = " + ip.getHostAddress()); . . . } } 我得到的错误: Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 Exception in thread "main" java.net.UnknownHostException: mysql: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native […]

在Docker容器中运行Spring Boot应用程序,无法连接MySQL

我试图学习Docker,并创build了一个运行MySQL服务器的容器。 它工作正常,当我在本地运行Spring Boot应用程序(无需Docker)时,我可以使用Spring Boot应用程序中的MySQL。 但是当我尝试在另一个Docker容器中运行Spring Boot应用程序时,与MySQL的连接失败,出现错误: java.net.ConnectException: Connection refused 在我的Spring Boot的application.properties我有这样的configuration: spring.datasource.url: jdbc:mysql://127.0.0.1/mydb spring.datasource.username=root spring.datasource.password= spring.datasource.driverClassName=com.mysql.jdbc.Driver 任何想法可能是错的?

在mysql docker中增加max_allowed_pa​​cket大小

我们使用的是Docker for mysql,我们在运行时遇到以下错误 Packet for query is too large (12884616 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (12884616 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable. 现在我们需要在mysqlconfiguration中增加max_allowed_packet大小,任何人都可以通过docker命令来增加max_allowed_packet 。

:连接PHPMyAdmin到MySQL不起作用

我试图连接一个PHPMyAdmin容器到一个MySQL容器来查看数据库。 我已经通过$ docker run –name databaseContainer -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql了MySQL容器 – 名称$ docker run –name databaseContainer -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 和PHPMyAdmin容器通过$ docker run –name myadmin -d –link databaseContainer:mysql -p 8080:8080 phpmyadmin/phpmyadmin 当试图loginPHPMyAdmin,我得到:mysqli_real_connect():php_network_getaddresses:getaddrinfo失败:名称不解决 和 mysqli_real_connect():(HY000 / 2002):php_network_getaddresses:getaddrinfo失败:名称不能parsing 顺便说一下,我也开始了一个WordPress的容器,也链接到MySQL,它的工作…