Tag: mariadb

MariaDB执行“postInstallation”时出错

我想使用bitnami-docker- redmine在我的服务器Ubuntu上启动redmine项目。 但是,MariaDB在运行docker-compose up之后返回一个错误: (master) $> docker-compose up Creating wwwredminelan_mariadb_1 Creating wwwredminelan_redmine_1 Attaching to wwwredminelan_mariadb_1, wwwredminelan_redmine_1 mariadb_1 | mariadb_1 | Welcome to the Bitnami mariadb container mariadb_1 | Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-mariadb mariadb_1 | Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-mariadb/issues mariadb_1 | Send us your feedback at containers@bitnami.com mariadb_1 | mariadb_1 […]

Golang连接到docker连接到我的SQLdockergetsockopt:连接被拒绝

我放松了我的想法来设置我的golang和docker env。 我正在使用docker撰写这似乎预订两个图像很好,但是当我尝试运行和去朗操作,我得到一个错误。

如何使用kubernet从mysqldump恢复转储文件?

我知道如何从mysqldump恢复转储文件 。 现在,我正在尝试使用kubernet和docker容器来做到这一点。 数据库文件处于永久(nfs)装入状态。 docker不能在集群之外访问,因为不需要外部任何东西来触摸它。 我试过了: kubectl run -i -t dbtest –image=mariadb –restart=Never –rm=true –command — mysql -uroot -ps3kr37 < dump.sql 和 kubectl exec mariadb-deployment-3614069618-mn524 -i -t — mysql -u root -p=s3kr37 < dump.sql 但是这两个命令都没有奏效 – 关于TTY,套接字等的错误暗示着我错过了一些至关重要的东西。 我在这里不了解什么? 我可以停止部署,scp数据库文件,并重新启动容器,并希望最好的。 但是,什么可以去⸮ 问题使用mariaDB将一个sql转储文件安装到docker容器当然看起来像一个重复的,但不是:首先,我在Linux上不是Windows,更重要的是,所有的答案都是关于初始化转储。 我希望能够垃圾数据和恢复到转储数据。 这是一个最终将成为“现场”的testing系统,所以我需要从许多潜在的转储中恢复。

多个Docker容器共享一个数据库

我有一个包含三个小型Spring Boot应用程序的系统,每个应用程序都有一个不同的用途,其中包含REST端点。 这三个应用程序都是为了处理同一个数据库(MariaDB)。 目前,该系统作为四个独立的docker工作。 三个应用程序的三个docker容器,MariaDB的第四个容器(基于MariaDB Docker镜像)。 所有三个应用程序容器都使用–linknetworking模式连接到数据库容器。 在代码中,使用Spring Data Database Managerbuild立连接(注意:MariaDB容器被称为mariadb): DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUrl("jdbc:mariadb://mariadb:3306/fi"); dataSource.setUsername("myUsername"); dataSource.setPassword("myPassword"); 这一切都按预期工作,但我注意到有很多人在堆栈溢出和类似的网站上说,在docker运行数据库是不理想的,不应该做生产。 尽pipe每个人似乎都同意这一点,但我还没有find具体的意见或教程来说明如何完成我所要做的事情。 最好,我希望在主机上运行MariaDB(一台机器托pipe所有的docker),并让每个docker都能够连接到主机。 我以前试过这个没有成功,总是无法连接到主机上的任何东西。 我最近尝试这样做需要build立一个docker集装箱,如下所示: Docker run -i -t –add-host="localhost:my.host.ip" -p 8080:8080 –name awesomeName javaimage /bin/bash 我find的这个页面是一个给我一个类似问题的人的答案,那个片段的作者宣称你可以使用localhost调用主机上的链接,就好像运行在我的docker中的Spring App在主机上运行一样机。 使用这个–add-host容器,我试图连接到主机上的数据库,如下所示: DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUrl("jdbc:mariadb://localhost:3306/fi"); dataSource.setUsername("myUsername"); dataSource.setPassword("myPassword"); 尝试获取此连接失败,出现错误“无法连接到地址=(host = localhost)(port = 3308)(type = master):连接被拒绝”。 请注意,如果我直接在主机上运行应用程序,这些相同的证书和获取连接的方法就可以工作。 总而言之,我目前的Spring […]

链接泊坞窗容器(Drupal和MariaDB)

要开始我从MariaDB泊坞窗图像build立一个docker集装箱。 之后,我在正在运行的容器中加载了一个数据库转储文件。 [MariaDB status][1] 一切顺利。 当我想运行/链接Drupal图像时: docker run –name drupaldocker –link mariadbdocker:mariadb -p 8089:80 -d drupal 我可以到达drupal安装页面,但是当我想要加载数据库时,我总是有相同的错误: -host,pass或dbname是错误的。 但我很确定我的凭据是正确的。 看来,我的drupal容器找不到mariadb图像。

从bash脚本运行“mysql”命令

我有一个MariaDB Docker容器,我想在bash脚本的帮助下自动访问。 我正在使用Docker撰写: version: '3' services: drupal: image: jonasvbogaert/php-docker:${IMAGE_VERSION} container_name: drupalenv ports: – 8080:80 volumes: – /var/www/html/ restart: always environment: DRUPAL_SITE_NAME: Drupal DRUPAL_USER: admin DRUPAL_PASS: admin mariadb: image: mariadb:latest container_name: mariadbenv restart: always ports: – 3036:3036 depends_on: – drupal environment: MYSQL_ROOT_PASSWORD: "" MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_USER: drupal MYSQL_PASSWORD: drupal MYSQL_DATABASE: drupal` 第一个命令是在容器中潜水(工作正常): docker exec -it mariadbenv […]

MariaDB服务器在Docker容器内运行的node.js服务器的查询超时

我有一个奇怪的情况,让我感到困惑,而我不确定在哪里看。 我有一个docker容器,其中有一个基于nodejs的应用服务器正在运行,而docker(正常守护进程)之外运行的mariadb服务器都运行在同一台机器上。 泊坞窗在主机networking命名空间中启动。 ( –network=host ),这意味着节点应用服务器连接到localhost:3306上的mariadb服务器。 mariadb服务器configuration为侦听所有接口( 0.0.0.0 )。 现在,当应用程序服务器在mariadb服务器上触发一个非常简单和短时间(根本不需要数据密集型)的查询时,会发生超时错误。 但是,对于其他node.js应用程序服务器(在其他计算机上运行),当它们触发相同的查询时,不会发生此超时。 我也在mysql cmd行(连接到localhost mariadb服务器)上运行相同的查询,这也工作。 那么为什么mariadb服务器专门似乎拒绝从这个特定的docker容器(运行在主机networking命名空间)相同的查询。 我的configuration是: 机器:Ubuntu 16.04 docker工人:docker版本1.12.6,编译78d1802 基地docker的形象:高山linux 3.6

Galera群集节点不会触发wsrep_notify_cmd和wsrep_sst_method

我用3个docker containers设置了3个节点的Galera cluster 。 有一个要求,当数据从donor节点同步到其他节点时,基于同步节点上的wsrep_notify_cmd触发器或wsrep_sst_method触发器,还需要将数据填充到该节点上相应的Redis队列。 问题是这2个触发器只有在启动集群时才被调用。 有一个日志说这两个触发器是在一个节点join集群时被调用的。 但是,当我试图修改模式或在一个节点上执行CUD操作时,触发器不会在其他节点上被触发。 我不知道如果我做了不正确的configuration,或者这不是这些触发器的工作方式。 以下是我用来使群集工作的文件 泊坞窗,compose.yml version: '3' services: node1: build: ./galera/ image: galera_mariadb:latest container_name: "galera_cluster_node1" hostname: node1 ports: – 13306:3306 networks: – galera_cluster volumes: – ./galera/conf.d/galera.cnf:/etc/mysql/conf.d/galera.cnf – /var/data/galera/mysql/node1:/var/lib/mysql/ # ./galera/scripts contains the bash script which is executed by wsrep_notify_cmd trigger – ./galera/scripts/:/etc/mysql/scripts/ environment: – MYSQL_ROOT_PASSWORD=123 – REPLICATION_PASSWORD=123 – MYSQL_DATABASE=test_db […]

docker:SQLSTATE 没有这样的文件或目录

嘿家伙我试图连接Yii2与在mariadb运行的mariadb 。 我使用docker,我有这些容器 mariadb和php-fpm我可以使用这个命令mysql -u root -p连接到mariadb容器内的mysql -u root -p ,没有任何问题。 也使用mysql workbench我可以通过隧道连接到MySQL也没有问题。 但是当我跑了网站,例如。 mysite.com/user/login,login时我得到这个错误 SQLSTATE[HY000] [2002] No such file or directory Caused by: PDOException 这是我mariadb -compose文件中的mariadbconfiguration mariadb: image: bitnami/mariadb:latest container_name: mariadb working_dir: /bitnami/mariadb volumes: – ./data/mariadb:/bitnami/mariadb environment: – MARIADB_ROOT_PASSWORD=rootpass – MARIADB_DATABASE=mydb – MARIADB_USER=david – MARIADB_PASSWORD=pass ports: – "8890:3306" 在Yii2我的main.phpconfiguration我有这个作为我的dsn mysql:host=ipvalueofmysite.com;port=8890;dbname=mydb

使用脚本在初始构build时导入到dockerized mariadb中

我正在使用MariaDB,但我认为这也可能适用于MySQL。 我有一个项目,MariaDB的工作,并有一些初始设置的数据库,需要做到创build表,插入初始数据等。基于其他答案,我通常可以做ADD dump.sql /docker-entrypoint-initdb.d ,但我没有dump.sql – 而是我有一个python脚本直接连接到MariaDB并创build表和数据。 我有一个docker-compose.yml version: '3' services: db: build: ./db ports: – "3306:3306" container_name: db environment: – MYSQL_ROOT_PASSWORD=root web: build: ./web command: node /app/src/index.js ports: – "3000:3000" links: – db “networking”现在不是那么重要,因为我只是想让db工作。 我尝试过的数据库的Dockerfile是: # db/Dockerfile FROM mariadb:10.3.2 RUN apt-get update && apt-get install -y python python-pip python-dev libmariadbclient-dev RUN pip install requests […]