Tag: mariadb

django无法在docker-compose中连接mysql

我对docker非常陌生,现在我想通过docker-compose在Docker中运行django,但是我总是得到这个错误: 我使用Docker version 17.09.1-ce, build 19e2cf6 , Docker version 17.09.1-ce, build 19e2cf6 docker-compose version 1.18.0, build 8dd22a9 django.db.utils.OperationalError:(2003,'无法连接到'mariadb55'(111“连接被拒绝)”)上的MySQL服务器 运行后,我可以正确地连接数据库docker-compose up db在本地或远程docker-compose up db ,我甚至可以在anaconda虚拟环境中正确运行python manage.py runserver 0.0.0.0:6001 ,通过设置参数settings.py在docker中连接db服务文件如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', # 'HOST': 'mariadb55', 'HOST': '127.0.0.1', 'PORT': '3302', 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } […]

Mariadb无法与docker工作人员进行守护

我试图使用这个图像https://hub.docker.com/_/mariadb/ (任何版本)。 我正在使用以下来启动容器: cd maria docker build -t maria-image . docker run –name maria maria-image -d -e MYSQL_ALLOW_EMPTY_PASSWORD=1 cd .. 我正在准备一个自定义的构build,以防我需要做任何未来的修改,以便在maria / Dockerfile中使用以下命令: FROM mariadb:5.5 MAINTAINER … EXPOSE 3306 如果我做dockerps -a我得到状态“退出(2)5秒前”。

错误找不到-lz在基于debian的容器上构buildMariaDB

我正在尝试在基于Debian的容器上构buildMariaDB。 但它找不到一个z库。 这里是容器图像脚本: FROM debian RUN apt-get update RUN apt-get install -y libncurses-dev RUN apt-get install -y build-essential; RUN apt-get install -y cmake; COPY mariadb-10.1.18.tar.gz /usr/bin/ WORKDIR /usr/bin/ RUN gzip -d mariadb-10.1.18.tar.gz RUN tar -xvf mariadb-10.1.18.tar RUN ln -s mariadb-10.1.18 mariadb WORKDIR /usr/bin/mariadb/ RUN mkdir install; mkdir install/data; mkdir install/var; mkdir install/etc; mkdir install/tmp RUN […]

如何在开始时将我的数据库转储导入mariadb?

我有一个像这样的docker-compose.yml文件 version: '2' services: wordpress: image: wordpress ports: – 8080:80 environment: WORDPRESS_DB_NAME: my_wp WORDPRESS_DB_USER: my_user WORDPRESS_DB_PASSWORD: my_pass volumes: – ./src:/var/www/html mysql: image: mariadb environment: MYSQL_ROOT_PASSWORD: my_pass volumes: – ./db:/etc/mysql 我可以使用命令docker-compose up运行我的包含器,它工作正常,但显示默认的WordPress的网站与空数据库设置。 我想要的是,我有一个数据库转储文件my_db.sql,我想在初始化时加载到mariadb。 我怎样才能做到这一点? 我需要把我的my_db.sql文件由mariadb容器select在哪里?

连接到运行MariaDB的另一个Docker容器时,MYSQLI连接被拒绝

我开始用Docker弄脏我的手,我试图让我的PHP应用程序运行在使用nginx的docker容器中,以连接到另一个运行MariaDB的容器中运行的数据库。 当我运行的容器,我可以连接没有任何问题,从我的电脑数据库(使用Sequel Pro),但是当我尝试连接到数据库从在nginx容器中运行的PHP应用程序,我得到以下mysqli错误: 警告:mysqli_connect():(HY000 / 2002):在第7行> /app/web/php/db-config.php中拒绝连接无法连接到数据库,死于错误: 发生错误的db-config.php如下所示: define('DB_HOST', '0.0.0.0:3306'); define('DB_NAME', 'Jumpooling'); define('DB_USER', 'root'); define('DB_PASSWORD', 'root'); $con=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die('Failed to connect to the database, died with error:'); 所有的docker-compose.yml文件内容都在这个仓库中。 我错过了什么?

如何将docker上的mariadb数据迁移到另一台机器后?

我使用默认设置( docker run –name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag )的dockerized mariadb容器(连接到mediawiki)。 现在我需要将它迁移到另一台机器。 但是不知道如何将数据保存在一起。 docker inspect告诉我,当前的数据位于/var/lib/docker/volumes/c27…d02/_data 。 我只需要复制这个文件夹,并一起移动到另一台机器? 需要你的帮助家:(

不能在docker集装箱MariaDB

我需要在现有的Docker容器中运行MariaDB。 build设和安装工作很好,但是当Docker执行 RUN mysql < init.sql 加载我得到的数据库模式 Can't connect to MySQL server (111 Connection refused) 但是,当我运行容器并执行 docker exec -it silly_allen /bin/bash -c "mysql < init.sql" 它工作得很好。 可能是什么问题? 谢谢! 编辑:这是与数据库相关的Dockerfile的一部分。 FROM centos:7 WORKDIR /root … RUN echo "[mariadb]" >> /etc/yum.repos.d/MariaDB.repo RUN echo "name = MariaDB" >> /etc/yum.repos.d/MariaDB.repo RUN echo "baseurl = http://yum.mariadb.org/10.1/centos7-amd64" >> /etc/yum.repos.d/MariaDB.repo RUN echo […]

如何正确地将mariadb数据库从容器移动到主机

我有一个小的web应用程序在Docker容器中运行。 它使用基于官方的“mariadb”图像在同一个盒子上的另一个容器中运行的mariadb数据库。 当我第一次设置这些容器时,我使用“内部”数据库启动了mariadb容器。 我给“/ var / lib / mysql”一个卷名,但是我没有将它映射到主机上的一个目录(“-v vol-name:/ var / lib / mysql”)。 实际上,我甚至不知道为什么我给了它一个卷名。 我在几个月前就设置好了,我不确定为什么我会这样做。 无论如何,我已经得出结论,有一个数据库内部的容器是不是一个好主意。 我决定我真的需要在主机上存储实际的数据库,并使用卷映射来引用它。 我知道如何做到这一点,如果我从头开始设置,但现在应用程序正在运行,我需要将数据库移动到主机,并重新启动容器指向。 我不确定所有适当的步骤来做到这一点。 另外,我还需要使用基于相同图像的容器来设置此应用程序的第二个实例。 第二个数据库也将存储在主机上,在另一个目录旁边。 我可以用第一个备份文件初始化第二个数据库,但是我可能会在第二个实例中手动清空大部分表格。 我没有使用容器内的mysqldump转储数据库,然后我复制该备份文件到主机。 我知道如何在“docker run”中设置卷映射来将容器中的/ var / lib / mysql映射到主机上的一个位置。 在这一点上,我不确定如何处理这个备份文件,所以我可以用修改后的卷映射重新启动容器。 我知道我可以运行“mysql dbname <backup.sql”,但我不确定这会带来什么后果。

mariadb官方docker图像 – 如何添加SSH服务

我是新来的docker工人,一直在使用hub.docker.com中的hub.docker.com 我想添加SSH服务的容器。 我可以apt-get install软件包( apt-get update ),但我不知道如何启动它。 通常(不是在这个容器中),我们可以通过service ssh start的常规命令service ssh start 。 但是我不知道如何在不干扰ENTRYPOINT和CMD机制的情况下在容器中做这个。 dockerfile附带了一个docker-entrypoint.sh (见这里的源代码),几乎期望有一个CMD行 CMD ["mysqld"] 我已经阅读了一些相关的SO文章,例如: 如何在运行Docker容器时自动启动服务? 使用docker容器自动启动sshd 但是由于ENTRYPOINT文件中的ENTRYPOINT和CMD的相互作用,这里并不直接适用。

多个独立的mariadb用法:多个容器或一个? 隔离与效率?

我有一个build筑问题。 假设我们有一个有多个子系统的系统: A , B等等。 每个子系统都需要保存他们的数据,他们都使用MariaDB 。 子系统A可能需要一个名为a_db的database (如在create database … ) 而子系统B可能需要一个名为b_db的数据库。 而且, A和B之间没有数据共享 在微服务和docker之前的一个单一的世界中,通常要build立一个中心MariaDB实例,并要求每个子系统使用它,并在共享实例上使用自己的 database (也就是说, A使用a_db , B使用b_db等) 使用docker,我想我们也可以运行多个mariadb容器,并且每个都映射他们自己的卷用于存储(例如分别为/data/mdb_a和/data/mdb_b )。 A和B之间完全隔离是一个明显的优势。 A会不小心混淆了B的数据。 而且这两个子系统可以独立selectclosures/重新启动他们自己的MariaDB容器,甚至升级他们的MariaDB二进制文件。 另一方面,我的一些同事认为,运行多个MariaDB容器效率不高,这种方法会浪费资源。 他们的良好实证测量和文章是否讨论了两种方法之间的权衡?