所以我的最终目标是运行一个MySQL Docker容器(比如公共registry中的tutum / mysql),然后将一个Gitlab Docker容器(比如sameersbn / gitlab)连接到两个容器都使用持久存储的容器。
但是,我被困在MySQL部分。 每当我尝试运行一个预制的MySQL Docker容器(mysql,tutum / mysql和sameersbn / 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:关机完成
解决错误
root @ 1bbeb34f3491:/#mysql_upgrade
寻找“MySQL”为:mysql
寻找“mysqlcheck”为:mysqlcheck
致命错误:升级失败
无论我尝试使用哪个MySQL容器,最终当我启动MySQL时,都会出现相同的错误消息。 这几乎肯定意味着我的设置出了问题,使我感到困惑,因为我认为Docker容器没有暴露的端口或持久性存储,将会与Docker安装的系统隔离?
我也试着用-d标志运行一个MySQL容器,然后运行一个新的Ubuntu 14.04容器(docker.io run -it -link mysql:mysql ubuntu:14.04 bash)。 在Ubuntu容器上,我通过apt-get安装了mysql-client,并尝试连接到MySQL容器,但是这也不起作用。
我的主机系统运行Ubuntu 14.04,Docker是通过apt-get安装的,版本是0.9.1。
我不太清楚在这个解释中应该写些什么,因为这个问题对我来说似乎很奇怪。 如果有什么我错过了,请问,我会为你添加它。
谢谢,JamesStewy
编辑如果有人可以创build一组指令,创build一个MySQL容器和一个链接的容器,并为他们工作,所以我可以给它一个去。
与sameersbn / mysql
我不相信你可以交互地运行它。
docker run --name mysql -d sameersbn/mysql:latest
所以你只要把它作为一个守护进程来运行,就可以检查容器来find这样的IP地址:
docker inspect mysql | grep IPAddres
然后你可以连接到该IP上的MySQL。
我们有同样的问题 – 似乎你需要等待mysql启动(或者至less启动监听器)。 否则,你会得到你得到的2013年问题。 我们刚刚添加睡眠60,这是一个相当不雅的黑客,但似乎工作。 很想听到更好的解决方法。