Jam*_*ewy 6 mysql ubuntu docker
所以我的最终目标是运行一个 MySQL Docker 容器(比如来自公共注册表的 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-recover 而不是 myisam-recover-options,并将在未来版本中删除。请改用全名。
140730 4:49:04 [注意] 插件“联邦”被禁用。
mysqld:表 'mysql.plugin' 不存在
140730 4:49:04 [错误] 无法打开 mysql.plugin 表。请运行 mysql_upgrade 来创建它。
140730 4:49:04 InnoDB:InnoDB 内存堆被禁用
140730 4:49:04 InnoDB:互斥体和 rw_locks 使用 GCC 原子内置函数
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 [注意] 服务器主机名(绑定地址):'0.0.0.0';端口:3306
140730 4:49:05 [注意] - “0.0.0.0”解析为“0.0.0.0”;
140730 4:49:05 [注意] 在 IP 上创建的服务器套接字:'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。
我不太确定在这个解释中放什么,因为这个问题对我来说似乎很奇怪。如果有什么我遗漏了,请询问,我会为您添加。
谢谢,詹姆斯·斯威
编辑 如果有人可以创建一组指令来创建一个 MySQL 容器和一个链接的容器并为它们工作,那么我可以试一试。
小智 2
使用 Sameersbn/mysql
我不相信你可以交互式地运行它。
docker run --name mysql -d sameersbn/mysql:latest
Run Code Online (Sandbox Code Playgroud)
因此,您只需将其作为守护进程运行,检查容器以查找 IP 地址,如下所示:
docker inspect mysql | grep IPAddres
Run Code Online (Sandbox Code Playgroud)
然后你就可以连接到该IP上的mysql。
| 归档时间: |
|
| 查看次数: |
14630 次 |
| 最近记录: |