Tag: mysql

Docker MySQL主机卷

我发现这里有一个官方的MySQL镜像。 不幸的是,我无法使用主机卷启动容器。 我已经尝试了下面的脚本。 DB_ROOT_PASS="myPassword" DB_NAME="myDatabase" DATA_DIR="$HOME/mysql_data" mkdir -p $DATA_DIR mkdir -p $DATA_DIR/conf.d cd $DATA_DIR wget -O my.cnf http://pastebin.com/raw.php?i=aV4pXRQD sudo docker run \ -e MYSQL_ROOT_PASSWORD=$DB_ROOT_PASS \ -e MYSQL_DATABASE=$DB_NAME \ -p 3306:3306 \ -v $DATA_DIR:/etc/mysql \ mysql 这导致了以下输出: Running mysql_install_db … Installing MySQL system tables…2015-02-14 07:49:52 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is […]

Docker多应用程序服务器关于数据库的体系结构

我有一个运行5或6个小Rails应用程序的服务器。 他们所有的附加文件都在S3上,他们都使用MySQL作为数据库。 每个应用程序都有自己的用户,并运行一些thins。 有一个nginx服务器负责平衡和域路由。 我打算用一个Docker安装来replace这个服务器:一个服务器每个应用都有一个容器,前面有一个nginx。 我的问题是:你会把数据库的一部分? 我主要看到4种可能性: 1)每个应用程序容器中的一个Mysql服务器。 我认为这不是Docker的哲学。 这将要求每个容器的数据单独备份。 2)适用于所有应用程序的独特的MySQL容器。 3)主机Docker服务器上的标准MySQL安装。 4)一个单独的MySQL服务器的所有应用程序。 你会怎么做 ? PS:我知道Docker还没有准备好,我打算现在用它来升级,如果我对它满意的话,也可以切换。

从主机执行mysql命令到运行mysql服务器的容器

我已经按照指令https://registry.hub.docker.com/_/mysql/拉一个图像,并运行一个容器,它运行一个MySQL服务器。 容器在后台运行,我会运行一些命令。 连接到容器并从命令行执行这个命令的最好方法是什么?

如何使用Sequel Pro连接到docker上运行的mysql

我有一个docker机,它有一个MySQL容器运行。 ~ ▶ boot2docker ip 192.168.59.103 ~ ▶ docker-machine ip default 192.168.99.100 ~ ▶ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v1.9.1 ~ ▶ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b14062dd1e25 mysql:5.6 "/entrypoint.sh mysql" 6 hours ago Up 6 hours 3306/tcp, 0.0.0.0:3306->9090/tcp i-mysql […]

Docker MariaDB / Mysql转储

我怎样才能从https://hub.docker.com/_/mariadb/上运行容器mysqldump? 我无法find任何有用的文件或数据? 任何备份和恢复数据库的方法。 这是我的继续运行命令: docker run –name myaapp-mariadb -v /databases/maria:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mariadb:10

无法使用Docker将Java程序连接到MySQL

我正在学习docker,并尝试使用Tomcat将我的Java Web应用程序放到容器中。 我跟着一些基本的教程,但我发现没有解决scheme正常工作给我。 如果我运行我的数据库和Java容器,我得到的错误: SEVERE: Unable to create initial connections of pool. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:339) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) […]

在docker mysql容器中启用日志logging

我试图熟悉docker生态系统,并试图设置一个MySQL数据库容器。 用docker-compose这看起来像: version: '2' services: db: image: mysql:5.6.33@sha256:31ad2efd094a1336ef1f8efaf40b88a5019778e7d9b8a8579a4f95a6be88eaba volumes: – "./db/data:/var/lib/mysql" – "./db/log:/var/log/mysql" – "./db/conf:/etc/mysql/conf.d" restart: "yes" environment: MYSQL_ROOT_PASSWORD: rootpw MYSQL_DATABASE: db MYSQL_USER: db MYSQL_PASSWORD: dbpw 我的conf目录包含一个文件: [mysqld] log_error =/var/log/mysql/mysql_error.log general_log_file=/var/log/mysql/mysql.log general_log =1 slow_query_log =1 slow_query_log_file=/var/log/mysql/mysql_slow.log long_query_time =2 log_queries_not_using_indexes = 1 不幸的是,我没有这样的日志文件。 该设置本身是正确的,并使用cnf文件。 连接到容器并创build3个文件后,将它们切换到mysql并重新启动容器,logging工作正常。 我很确定这是一个常见的情况,我目前的方式让它运行似乎真的很愚蠢。 什么是正确的方法来做到这一点? 我可以通过在Dockerfile中移动所有这些东西来改进我的方法,但这对我来说仍然很奇怪。

即使状态正在运行,也不能访问在Docker中configuration的wordpress

我按照这里的指示,在Docker中创build一个WordPress的网站: http : //www.sitepoint.com/how-to-use-the-official-docker-wordpress-image/ 1.pull&run mysql image:docker run –name wordpressdb -e MYSQL_ROOT_PASSWORD =密码-e MYSQL_DATABASE = wordpress -d mysql:5.7 2.pull&运行wordpress图像并链接到它的mysql容器:docker运行-e WORDPRESS_DB_PASSWORD =密码-d –name wordpress – 链接wordpressdb:mysql wordpress 我可以看到这两个容器正在运行: 我可以检查wordpress容器并尝试获取ip和端口: 另外,当我检查mysql容器时,我不能使用host / iplogin到mysql浏览器, ******** edit-add -p ***************** 我用-p运行wordpress容器 **************再次编辑******************** ********************更新********************** ***********最后我做了工作******************* 最后,我让它工作,如果我在-p命令中运行具有特定ip的容器例如127.0.0.1: -p 127.0.0.1:8080:80 它不会工作 如果我不指定IP,或使用0.0.0.0作为IP,它将工作: -p 0.0.0.0:8080:80

docker不同的端口上的MySQL

我想改变默认暴露端口的MySQL图像泊坞窗,但如果我尝试使用此命令 docker run –detach –name=test-mysql -p 52000:52000 –env="MYSQL_ROOT_PASSWORD=mypassword" mysql 不工作,mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能是不安全的。 错误2013(HY000):在'读取初始通信数据包'丢失连接到MySQL服务器,系统错误:0 如果我使用标准端口3306:3306工作正常,但我想更改端口,这是可能的? 我已经尝试了-p 52000:3600,但我总是: mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全。 错误2013(HY000):在'读取初始通信数据包'丢失连接到MySQL服务器,系统错误:0

如何知道我的docker mysql容器何时启动,mysql已准备好接受查询?

我正在部署一些不同的docker容器,mysql是第一个。 我想在数据库启动后立即运行脚本并继续构build其他容器。 该脚本一直失败,因为它试图运行时,设置MySQL(从这个官方的MySQL容器 )入口脚本,仍然在运行。 sudo docker run –name mysql -e MYSQL_ROOT_PASSWORD=MY_ROOT_PASS -p 3306:3306 -d mysql [..] wait for mysql to be ready [..] mysql -h 127.0.0.1 -P 3306 -u root –password=MY_ROOT_PASS < MY_SQL_SCRIPT.sql 是否有一种方法来等待docker容器内完成一个入口的mysql安装脚本的信号? 巴什睡眠似乎是一个不理想的解决scheme。 编辑:去这样的bash脚本。 不是最优雅和有点暴力,但作品像一个魅力。 也许有人会觉得有用。 OUTPUT="Can't connect" while [[ $OUTPUT == *"Can't connect"* ]] do OUTPUT=$(mysql -h $APP_IP -P :$APP_PORT -u yyy […]