微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Docker容器中运行MySQL

所以我的最终目标是运行一个MysqL Docker容器(比如公共registry中的tutum / MysqL),然后将一个Gitlab Docker容器(比如sameersbn / gitlab)连接到两个容器都使用持久存储的容器。

但是,我被困在MysqL的一部分。 每当我尝试运行一个预制的MysqL Docker容器(MysqL,tutum / MysqL和sameersbn / MysqL)时,我会得到下面的输出结果。

脚步

这只是获取下面的错误消息的一种方法

在Docker容器中装入SMB / CIFS共享

问题与泊坞窗撰写:容器命令未find

无法将Windows主机目录挂载到Docker容器

在Docker上用Nginx,uWsgi和PostgresconfigurationDjango

在Windows上运行docker shell

docker.io拉tutum / MysqL:最新

docker.io运行-it tutum / MysqL bash

一旦连接到新的容器,运行“/run.sh”(根据tutum / MysqL dockerfile)

此时“等待MysqL服务启动确认”消息不断重复。

此时,如果我取消“/run.sh”命令并自己启动MysqL,则会在下面显示错误消息。

输出

root @ 1bbeb34f3491:/#MysqLd

140730 4:49:04 [警告]使用唯一的选项前缀key_buffer而不是key_buffer_size已被弃用,并将在未来版本中删除。 请改用全名。

140730 4:49:04 [警告]使用唯一的选项前缀myisam -recovery而不是myisam-recover-options已弃用,并将在未来版本中删除。 请改用全名。

140730 4:49:04 [Note]插件'FEDERATED'被禁用。

MysqLd:表'MysqL.plugin'不存在

140730 4:49:04 [错误]无法打开MysqL.plugin表。 请运行MysqL_upgrade来创build它。

140730 4:49:04 InnoDB:InnoDB内存堆被禁用

140730 4:49:04 InnoDB:Mutexes和rw_locks使用GCCprimefaces内置函数

140730 4:49:04 InnoDB:压缩表使用zlib 1.2.8

140730 4:49:04 InnoDB:使用Linux本机AIO

140730 4:49:04 InnoDB:初始化缓冲池,大小= 128.0M

140730 4:49:04 InnoDB:完成缓冲池的初始化

140730 4:49:04 InnoDB:支持最高的文件格式是梭子鱼。

140730 4:49:04 InnoDB:等待后台线程启动

140730 4:49:05 InnoDB:5.5.37开始; 日志序号1595675

140730 4:49:05 [注意]服务器主机名(bind-address):'0.0.0.0'; 港口:3306

140730 4:49:05 [注] – '0.0.0.0'parsing为'0.0.0.0';

140730 4:49:05 [注意]在IP上创build服务器套接字:“0.0.0.0”。

140730 4:49:05 [错误]无法启动服务器:绑定在unix套接字上:权限被拒绝

140730 4:49:05 [错误]您是否已经在套接字上运行了另一个MysqLd服务器:/var/run/MysqLd/MysqLd.sock?

140730 4:49:05 [错误]正在中止

140730 4:49:05 InnoDB:开始关机… 140730 4:49:06 InnoDB:关机完成; 日志序号1595675 140730 4:49:06 [注意] MysqLd:关机完成

解决错误

“请运行MysqL_upgrade创build它”=>运行MysqL_upgrade命令输出

root @ 1bbeb34f3491:/#MysqL_upgrade

寻找“MysqL”为:MysqL

寻找“MysqLcheck”为:MysqLcheck

致命错误升级失败

“你是否已经在套接字上运行了另一个MysqLd服务器”=>不是。 运行服务MysqL停止不起作用,运行ps不显示MysqLd。 运行ls -a / var / run / MysqLd /build议套接文件不存在。

无论我尝试使用哪个MysqL容器,最终当我启动MysqL时,都会出现相同的错误消息。 这几乎肯定意味着我的设置出了问题,使我感到困惑,因为我认为Docker容器没有暴露的端口或永久存储,它们将与Docker安装的系统隔离?

我也试着用-d标志运行一个MysqL容器,然后运行一个新的Ubuntu 14.04容器(docker.io run -it -link MysqLMysqL ubuntu:14.04 bash)。 在Ubuntu容器上,我通过apt-get安装了MysqL-client,并尝试连接到MysqL_PORT_3306_TCP_ADDR中的IP地址上的MysqL容器,但这也不起作用。

同样的问题可能是我不明白Docker是如何工作的。 如果是这种情况,有人可以创build一组步骤,使用Docker索引中的一个MysqL容器,然后将容器链接到可以连接的容器。 这也将有助于查看我的Docker安装是否有问题(或其他未知问题导致此问题)。

我的主机系统运行Ubuntu 14.04,Docker是通过apt-get安装的,版本是0.9.1。

我不太清楚在这个解释中应该写些什么,因为这个问题对我来说似乎很奇怪。 如果有什么我错过了,请问,我会为你添加它。

谢谢,Jamesstewy

Nginx 403禁止错误

如何在多主机之间创builddocker覆盖networking?

Docker撰写与PHPMysqLNginx连接问题

Nginx作为Nexus的反向代理服务器 – 无法在Docker环境中连接

Docker-compose Predis不是通过PHP连接的

这适用于我: docker run -d -p 3306:3306 -e MysqL_PASS="mypass" tutum/MysqL

不需要从bash运行脚本,不需要任何聪明的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐