Tag: mariadb

docker的wordpress容器不能连接到数据库容器

我一直在使用dockerbuild立WordPress的应用程序一些日子。 我有一些工作,但现在我不知道为什么我可以连接数据库容器和WordPress的容器。 我已经将失败的configuration简化为最简单的可能。 现在我有以下docker-compose.yml文件: wordpress: image: wordpress links: – db:mysql ports: – 8080:80 db: image: mariadb environment: MYSQL_ROOT_PASSWORD: example 这是这个官方例子的一个确切的副本: https://hub.docker.com/_/wordpress/ (向下滚动到“…通过docker-compose”)。 如果我用这个文件做作曲者,我得到了以下相关的日志条目: Creating miqueladell_db_1 Creating miqueladell_wordpress_1 Attaching to miqueladell_db_1, miqueladell_wordpress_1 db_1 | Initializing database 很多初始化… wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in – on line 10 …这个过程持续了一段时间,db_1说它正在初始化,wordpress_1说它可以连接,然后… db_1 | MySQL init process done. […]

在Docker中查询MySql数据库

我有一个docker容器mariadb,并创build了一个数据库my_db (通过外部脚本在不同的容器中)。 我怎样才能在命令行上运行my_db上的SQL查询? 我只想做 select * from my_table 从正在运行容器的terminal。

在Docker容器中访问主机上的MySQL数据库

我有一个在Dockers容器中运行的Spring Boot应用程序。 该应用程序提供REST端点,可以使用http:// localhost:8080 / endpoint从主机成功调用。 以前,当这个应用程序运行在主机上而不是在Dockers中时,我可以从应用程序中使用jdbc:mariadb:// localhost:3308 / fi?user = userName&password = thePassword调用本地MariaDB。 现在应用程序在Dockers中运行,连接返回错误:“无法连接到地址=(host = localhost)(port = 3308)(type = master):连接被拒绝(连接被拒绝)” 进行连接的代码片段如下所示: Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3308/fi?user=username&password=thePassword"); Statement stmt = connection.createStatement(); String query = ""; ResultSet rs = stmt.executeQuery("SELECT * ….;"); 我已经发布了8080端口来接受来自主机的REST调用,并试图发布或公开3308端口以允许进行数据库调用,而不提供帮助。 先谢谢你!

使用mariaDB将一个sql转储文件安装到一个docker容器中

我只是在学习Docker的基础知识,但是从本地系统导入SQl文件就陷入困境。 我在Windows 10上,并允许我的docker容器访问我的共享驱动器。 我有一个位于D上的SQL文件,我想导入到我从docker中心获得的Maria DB的基础映像。 我find了一个命令来安装这个sql文件在我的图像上,并试图从容器sql命令提示符中直接导入图像,但得到一个无法打开文件错误。 下面是我已经尝试过的两种方法,但我在哪里存储我的SQL转储,我如何导入它? 方法1通过mysql命令行尝试 winpty docker run -it –link *some-mariadb*:mysql –rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' 然后 use *database-created* // previously created 然后 source d:/sql_dump_file.sql 方法2 docker exec -i my-new-database mysql -uroot -pnew-db-password –force < d:/sql_dump_file.sql 更新5/12/2016 所以在玩了一个令人失望的周末之后。 我目前将驱动器更改为C:驱动器,因为似乎有一些未知的问题,我不能debugging使D:驱动器工作。 然后我find了inspect命令来查看哪些卷被安装到一个容器。 我有以下,但我不能导入到SQL,因为它说文件不存在,但它清楚地表明,在docker,它是在那里和装载,SQL文件是在map_me文件夹。 我在C的主目录下创build了一个名为map_me的文件夹: docker inspect dbcontainer "Mounts": [ […]

使用docker-compose与docker运行不同的结果

我正在build立一个通用的公共数据库,我可以链接到其他容器。 在使用docker-compose和docker run时遇到不同的结果。 泊坞窗,compose.yml mysql: image: mariadb:10.1 ports: – 3306:3306 environment: MYSQL_ROOT_PASSWORD: root-secret MYSQL_USER: dbuser MYSQL_PASSWORD: my-secret volumes: – ./conf:/etc/mysql/conf.d – ./data:/var/lib/mysql – ./logs:/var/log/mysql pma: image: phpmyadmin/phpmyadmin links: – mysql:db ports: – 8088:80 environment: MYSQL_ROOT_PASSWORD: root-secret MYSQL_USER: dbuser MYSQL_PASSWORD: my-secret 我正在运行的docker命令是: docker run -d -P –name mysql -v conf:/etc/mysql/conf.d -v data:/var/lib/mysql \ -v logs:/var/log/mysql -e […]

Docker-compose mysql:import .sql

我的docker-compose脚本成功pipe理运行一个mysql / mariadb服务,并将包含数据库模式的“init.sql”脚本复制到“/docker-entrypoint-initdb.d”。 但是,sql脚本从来没有像按照文档那样执行。 没有错误,没有在日志中。 我检查了sql文件被复制到容器中的正确位置。 我检查了脚本在空数据库上没有错误的情况下运行。 我错过了什么? 如果脚本被执行(甚至由于某种原因,什么都不做),它甚至可以在日志中看到吗? ( 编辑: docker-compose版本:1.8.1,图片mariadb:10.1.21) # docker-compose.yml version: '2' volumes: data-volume: {} services: mysql: image: mariadb ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: pwd MYSQL_DATABASE: users_db volumes: – data-volume:/var/lib/mysql – ./resources/docker-sql/init.sql:/docker-entrypoint-initdb.d/init.sql backend: image: myapp ports: – "8000:80" depends_on: – mysql links: – 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

Laravel 5应用程序无法在Docker容器中连接MariaDB引擎

我在Docker容器中创build了一个新的Laravel 5应用程序。 我可以访问家庭url,并获得欢迎消息。 我尝试创build新的路线,他们也在工作。 然后我运行一个MariaDB docker容器来链接到Laravel 5应用程序。 这是问题出现的地方。 当我尝试使用以下命令在Laravel 5中运行迁移时: php artisan migrate –force 我收到以下错误消息: Can't connect to MySQL server on '127.0.0.1' 我的.env文件是这样的: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_DATABASE=blog DB_USERNAME=blog DB_PASSWORD=123456 我知道Laravel使用这些variables来连接数据库,因为它们存在于Laravel日志文件中,如下所示: PDO->__construct('mysql:127….', 'blog', '123456', Array) 数据库引擎是MariaDB,它在Docker容器中运行。 这个docker容器暴露端口3306并链接到运行Laravel的容器。 要链接容器,我使用下面的docker命令: docker run –i –t – – link mariadb:mysql miguelbgouveia/laravel:v3 /bin/bash 我也知道,我的MariaDB泊坞窗容器正在运行正确的configuration,因为我使用一个phpmyadmindocker容器链接到它,我可以连接到成功的数据库。 我将MariaDB容器与phpmyadmin容器链接到链接到Laravel容器的相同方式(–link mariadb:mysql) 为什么我无法连接到数据库? 有任何configuration或PHP模块安装缺less?

为什么MariaDB数据在我的Docker容器中是持久的? 我没有任何卷

我有一个安装了MariaDB的Docker容器。 我没有使用任何卷。 [vagrant@devops ~]$ sudo docker volume ls DRIVER VOLUME NAME [vagrant@devops ~]$ 现在发生了一些奇怪的事情 当我做sudo docker stop和sudo docker start ,MariaDB数据仍然存在。 我预计这个数据会丢失。 顺便说一句,当我编辑一些文件例如/etc/hosts我看到预期的行为。 重新启动后,此文件的更改将丢失。 MariaDB数据如何在没有卷的情况下持久存在? 这不应该发生吗?

Docker:MariaDB / MySQL启动在Windows主机上失败

我正在尝试使用官方的mariadb docker图像以及php-fpm和nginx来运行我的Symfony 2应用程序。 这个想法是保持所有的数据库文件在一个安装的文件夹。 虽然在Mac OS上它工作得很好 – 在Windows机器上,每次MariaDB尝试启动时都会收到错误。 奇怪的部分是,它实际上能够创build一些文件 – 我可以看到ibdata1文件,但它的大小是0字节。 还有两个aria_log文件,其中包含几KB的数据,这意味着mysql实际上可以在那里写入。 我正在使用docker for windows 1.12.2 beta 。 但也尝试了稳定的。 我正在存储项目的Windows磁盘是共享的(通过Docker for Windows UI的“共享驱动器”部分) 目录是100%可写的,因为nginx甚至MySQL本身都能够把他们的日志在那里 我完全不是“磁盘空间不足”,因为日志build议 这是我的docker-compose文件: version: '2' services: db: image: mariadb ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test MYSQL_USER: root MYSQL_PASSWORD: root volumes: – ./docker-runtime/mysql:/var/lib/mysql php: build: ./docker/php-fpm volumes: – ./:/var/www/symfony – ./docker-runtime/logs/symfony:/var/www/symfony/app/logs […]