Tag: mysql

并发数据库创build

我的Web应用程序需要一些初始数据库脚本在安装过程中执行。 这些只是一些需要运行的CREATE TABLE脚本。 我正在研究它。 我一直在尝试使用Docker 1.12的swarm模式来创build多个使用共享数据库的Web应用程序的容器副本。 (一个Oracle 12c或MySQL实例)。 问题是,当我启动容器的多个副本时,他们都试图同时运行SQL脚本并失败。 我试过使用Flyway处理数据库迁移,但无济于事。 应该怎样处理这种情况呢?

在Docker容器中使用MySQL

我有点新的Docker,我正在尝试使用MySQL为Django应用程序构build一个图像。 我遇到的问题是,运行我的图像后,我得到以下错误: django.db.utils.OperationalError:(2002,“无法通过套接字连接到本地MySQL服务器”/ var / run / mysqld / mysqld。袜子(111)“) 。 作为我使用的图像的基础FROM django:python2 ,我已经安装了服务器使用以下命令: RUN echo "mysql-server mysql-server/root_password password X" | debconf-set-selections RUN echo "mysql-server mysql-server/root_password_again password X" | debconf-set-selections RUN apt-get update && apt-get install -y mysql-server 为了解决这个问题,我尝试了多种解决scheme,我在网上find了这样的解决scheme: RUN touch /var/run/mysqld/mysqld.sock RUN chmod -R 755 /var/run/mysqld/mysqld.sock EXPOSE 3306 可悲的是,没有任何工作。 我也确定服务器正在运行,但问题仍然存在。

使用docker-compose自动构build(应用程序+ mySQL服务器)

使用mySQL为我的Web应用程序构build自动构build时遇到一些问题。 我将使用https://github.com/ehazlett/docker-sample-java-mysql-tomcat中的示例。 这是我的fig.yml文件: db: image: orchardup/mysql environment: MYSQL_USER: java MYSQL_PASSWORD: java MYSQL_DATABASE: javatest ports: – "3306" dbinit: image: orchardup/mysql entrypoint: /bin/bash volumes: – .:/host command: -c "sleep 4; mysql -u java –password=java -h mysql javatest < /host/init.sql; exit 0" links: – db:mysql app: build: . links: – dbinit – db:mysql ports: – "8080" 而这个简单的Dockerfile : […]

将mysql数据导入kubernetes pod

有谁知道如何将我的dump.sql文件中的数据导入到kubernetes窗格中; 直接,与处理docker容器相同的方式: docker exec -i container_name mysql -uroot –password=secret database < Dump.sql 或者使用存储在现有docker箱容器中的数据并将其传递到吊舱。

在Docker中运行Teampass并运行nginx代理

@Moderators:你可以添加标签teampass到标签列表吗? 我想运行Teampass作为一个以nginx为代理的docker容器。 我不确定是否有问题,Teampass带来了自己的Apache,并对我的nginx工作,或者如果我还有其他的东西完全错误的话。 我这样input 问题是,它没有通过这个页面,因为连接到mySQL端口不工作。 当我尝试安装它,没有运行的nginx,一切都按预期工作。 但是当我使用nginx时,它不再运行 docker构成文件: teampass: container_name: teampass image: teampass/teampass ports: – 127.0.0.1:8787:80 volumes: – /opt/teampass:/teampass links: – teampass_mysql teampass_mysql: restart: always image: mysql/mysql-server:5.5 ports: – 127.0.0.1:13306:3306 environment: – MYSQL_ROOT_PASSWORD=TEAMPASS_MYSQL_ROOT_PASSWORD – MYSQL_DATABASE=TEAMPASS_MYSQL_DATABASE – MYSQL_PASSWORD=TEAMPASS_MYSQL_PASSWORD – MYSQL_USER=TEAMPASS_MYSQL_USER volumes: – /opt/dbteampass:/var/lib/mysql nginx文件: upstream teampass { server 127.0.0.1:8787; } upstream sqlteampass { server 127.0.0.1:13306; } […]

如何在Docker中保持数据存储的可移植性?

我正在改变我的开发环境到Docker,到目前为止我非常高兴,但是我有一个基本的问题。 但首先让我描述一下我登陆的是什么样的设置。 我正在使用Web开发环境的示例。 所以我在自己的容器里组织每一项服务 谁谈论一个MySQL容器,并有一个数据容器(称为应用程序)的来源的PHP。 nginx链接到PHP容器并提供数据容器(app)中的文件。 应用程序基本上是与PHP(以节省空间)相同的容器,并将我的项目文件夹挂载到容器中。 应用程序然后将项目文件夹提供给其他容器。 那么有一个mysql容器有他自己的数据容器称为数据 与mysql容器交谈的phpmyadmin容器 最后还有数据,数据库的数据容器。 我不确定每个人的好处是否清楚,所以它是(因为你可以把所有东西都放到一个容器中)。 将我的主机上的项目文件夹安装到Docker容器中让我使用我最喜欢的编辑器,并使我不断发展。 将数据库引擎与其存储解耦,可以自由更改引擎,但保留数据。 (因为除编辑器和Docker之外,您不必安装任何编程工具。) 我的目标是让整个设置非常便于携带,因此在主机系统上安装我的项目代码的最新版本,而不是居住在容器内是一个巨大的优势。 我在我的项目文件夹里面组织了上面描述的设置在一个叫做“ 所以我可以将整个项目文件夹复制到另一台机器上,input“stillocker-compose”并启动。 我实际上已经把它放在我的Dropbox中,可以像这样切换机器。 很甜蜜 但是有一个缺点。 数据库存储不可移植,因为它位于Virtualbox文件系统的某处。 我尝试将数据存储挂载到主机操作系统中,但这并不奏效。 这些文件在那里,但是当我尝试读取或写入文件时,会出现各种错误。 我想我的问题是,如果有一个最佳做法,以保持在不同的开发机器之间的数据库存储同步(或高度可移植性)。

如何导出/保存整个Docker容器/图像

我在我的系统上安装了MySQL Docker镜像,configuration并启动了一个容器,并将一个2+ GB(bz2压缩大小)数据库导入到它。 我想打包整个容器并将其转移到另一个系统上。 如果我停止正在运行的容器并执行导出,则只产生一个118MB的tar.bz文件。 如果我提交我的容器到一个图像并保存,那么也只会产生一个118MB的tar.bz文件。 如何导出/保存整个容器,包括MySQL数据? MySQL的图像是383.4MB,我的修改后的图像也是一样的。 我find了一些线索: 我如何备份一个Docker-container与它的数据卷? 另外:目前我正在使用Ubuntu Linux风格。

将运行PHP的Docker容器连接到主机(在VirtualBox上的ubuntu)MSQL服务器

在Ubuntu 16.04上运行VirtualBox,其中有一个安装了Apache2和PHP的Docker容器。 MYSQL安装在主机上(在VirtualBox上的Ubuntu上)。 我正在尝试从Docker容器访问主机上的MYSQL服务器 <?php $host = '192.168.136.101'; $user = 'root'; $pass = '****'; $db = 'test'; $port = '3306'; $con = mysqli_connect($host,$user,$pass,$db,$port); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } ?> 我得到一个拒绝通知连接。 当启动容器时,我试过了 docker run -ti -p 80:80 -p 3306:3306 IMAGE 哪个不起作用,因为主机上的MYSQL服务器正在使用端口3306,如果我在主机上停止MYSQL服务器,执行docker run命令,但是我无法在主机上启动MYSQL服务 我也试过了 docker run […]

MySQL自动重启

问题 : 即使在mysqld报告“准备连接”之后,MySQL也会在启动后closures。 我只是使用公开的MySQL图像。 有谁知道是否有某种设置或错误,会导致重新启动? 日志不包含任何可能表示重新启动的错误。 重新启动后,数据库似乎工作正常,但我真的想避免这个初始重新启动,因为它把螺丝自动化很糟糕。 环境 : MySQL版本:5.6.33 Docker镜像 平台:Ubuntu Trusty Docker-Compose条目: myDatabase: image: mysql:5.6 environment: – MYSQL_DATABASE=myDatabase – MYSQL_ROOT_PASSWORD=FakeyMcFakeFace command: – –port=3307 – –sql-mode=NO_ENGINE_SUBSTITUTION – –max_allowed_packet=16M 日志: Initializing database 2016-09-12 16:17:39 0 [Note] /usr/sbin/mysqld (mysqld 5.6.33) starting as process 36 … 2016-09-12 16:17:39 36 [Note] InnoDB: Using atomics to ref count buffer […]

Mac上的Docker:无法运行MySQL

我第一次使用Docker。 在运行命令: make kickoff我收到错误: myapp_php_apache_engine_dev is up-to-date Starting myapp_mysql_dev ERROR: for mysql Cannot start service mysql: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:53: mounting \\\\\\\"/Applications/MAMP/htdocs/clients/codingmachine/myapp/mysql/custom-my.cnf\\\\\\\" to rootfs \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/2ab6b2578ad9f8da2d453aefa5cd9b288fee30dd2d73efc3048627cf0861d55a\\\\\\\" at \\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/2ab6b2578ad9f8da2d453aefa5cd9b288fee30dd2d73efc3048627cf0861d55a/etc/mysql/mysql.cnf\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n" ERROR: Encountered errors while bringing up the project. make: *** [up] […]