在 Docker 容器中运行 MySQL

2024-06-24

所以我的最终目标是运行一个 MySQL Docker 容器(比如来自公共注册表的 tutum/mysql),然后将一个 Gitlab Docker 容器(比如 Sameersbn/gitlab)链接到它,其中两个容器都使用持久存储。

然而,我被困在 MySQL 部分。每次我尝试运行预制的 MySQL Docker 容器(mysql、tutum/mysql 和 Sameersbn/mysql)时,如下所述,我都会得到以下输出。

Steps

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

  1. docker.io 拉 tutum/mysql:最新
  2. docker.io run -it tutum/mysql bash
  3. 连接到新容器后,运行“/run.sh”(根据 tutum/mysql dockerfile)
  4. 此时不断重复出现“等待MySQL服务启动确认”消息。
  5. 此时,如果我取消“/run.sh”命令并自己启动 MySQL,我会收到以下错误消息。

Output:

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 [注意] 插件“FEDERATED”已禁用。

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:支持的最高文件格式是Barracuda。

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

140730 4:49:05 InnoDB:37 年 5 月 5 日开始;日志序列号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:关闭完成

解决错误

  • “请运行 mysql_upgrade 来创建它” => 运行 mysql_upgrade 命令,其输出

root@1bbeb34f3491:/# mysql_upgrade

寻找“mysql”为:mysql

寻找“mysqlcheck”为:mysqlcheck

致命错误:升级失败

  • “您是否已经有另一个 mysqld 服务器在套接字上运行”=> 否。运行 service mysql stop 不会执行任何操作,并且运行 ps 不会显示 mysqld。运行 ls -a /var/run/mysqld/ 表明套接字文件不存在。

无论我尝试哪个 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_PORT_3306_TCP_ADDR中的IP地址上的MySQL容器,但这也不起作用。

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

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

我不太确定该解释中应该包含什么内容,因为这个问题对我来说似乎很奇怪。如果有什么遗漏的请询问,我会为您添加。

谢谢, 詹姆斯·斯图威


这对我有用: docker run -d -p 3306:3306 -e MYSQL_PASS="mypass" tutum/mysql

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Docker 容器中运行 MySQL 的相关文章

  • 导入 .sql 文件时出现错误 3554

    第 318 行出现错误 3554 HY000 对系统表 mysql innodb index stats 的访问被拒绝 操作失败 退出代码为 1 11 27 20 C Users VELOXSHOP Downloads dumpfilena
  • 在Java中控制docker-compose

    我创建了相当多的 docker compose 脚本 这些脚本产生了多个服务 我现在想在JVM中控制docker compose 基本上 我希望能够执行up and down 理想情况下与 p
  • Eloquent 使用远程 MySQL DB 花费太长时间

    我正在开发一个 Web Laravel 和 iOS 应用程序 它们都从我也在使用 Laravel 开发的 REST API 中使用 API 从 AWS RDS 实例托管的 MySQL 数据库进行查询 当我在本地主机上设置API和应用程序 并
  • MySQL:在一条语句上连接多个表

    我有以下数据库结构 层次结构 TABLE 产品类别 id name TABLE product id parent id name 父 ID 是产品类型 ID TABLE treeNode id parent id name type 它是
  • Docker 镜像占用大量空间?

    docker ps aq 仅显示 7 9 张图像 var lib docker graph 显示了 n 张图像 当我创建文件时 由于系统已满错误 出现写入错误 我尝试创建符号链接 但我无法移动所有 docker 的东西 删除 var lib
  • 使用 Union 或 Join - 哪个更快 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是想知道你是否有一张桌子并且联合起来会比使用联接更有效吗 我确实知道联接创建了更多列 但这更具理论性 联合是否需要像联接那样对另一
  • 我的 PHP 脚本如何判断服务器是否繁忙?

    我想运行一个 cron 作业来进行清理 需要大量的 CPU 和 Mysql 资源 我希望它仅在服务器不相对繁忙时运行 从 PHP 中确定这一点的最简单方法是什么 例如 是否有一个查询返回最后一分钟完成了多少个查询 if function e
  • 无法在 Windows 中安装 mysql-python(较新版本)

    I have mysql pythonv1 2 4 在我的机器 Windows 8 上安装得很好 我正在使用Python 2 7 每次尝试升级到 v1 2 5 时 我总是遇到以下错误 从 v1 3 7 开始仍然发生 C Users User
  • 在 docker 中为 docker golang api 的容器设置端口

    我期待使用 docker golang api 做下面这样的事情 cmd docker run t i p 8989 8080 image name bin bash 我也在使用golang sdkhttps github com moby
  • 如何用PHP显示分层的“NESTED SET”数据?

    我试图弄清楚如何使用 php 显示嵌套的 MySQL 数据 我已经设法搁置所有 叶节点 但后来我陷入困境 我需要显示一整棵树及其所有元素的关系 这是表格 category id name lft rgt 1 Saws 1 12 2 Chai
  • docker build 错误检查上下文:'can't stat '\\?\C:\Users\username\AppData\Local\Application Data''

    docker 构建在 Windows 10 上失败 docker 安装成功后 使用以下命令构建 docker 映像时 docker build t drtuts latest Facing below issue 如果有人解决了同样的问题
  • Sql查询增加多个项目的项目价值价格

    我想编写 Sql 查询来按百分比增加商品价格 场景是 在表中 我有 3 列 ID 商品名称 价格 Example If item Name is T shirt Increase price by 10 item Name is Jins
  • 如何在对应用程序影响最小的情况下从 MySQL“切换”到 Amazon RDS?

    Amazon 官方表示 Amazon RDS 让您能够访问熟悉的 MySQL 数据库的全部功能 这意味着您现在已经在现有 MySQL 数据库中使用的代码 应用程序和工具可以与 Amazon RDS 无缝协作 我不明白这一点 Amazon R
  • 在 WHERE 子句中使用 mysql SUM()

    假设我有这张桌子 id cash 1 200 2 301 3 101 4 700 我想返回第一行 其中之前所有现金的总和大于某个值 例如 如果我想返回第一行 其中之前所有现金的总和大于 500 则应该返回到第 3 行 如何使用 mysql
  • 数据库记录的多级菜单

    我需要一些有关 PHP 的帮助 我有一个工作正常的多级 css 菜单 但现在我想根据数据库中的记录生成 菜单代码 div ul class dropdown li a href Link 1 a li li a href Link 2 a
  • Hibernate统计打印HQL:null

    我是使用休眠的新手 我打开了统计信息 与普通的 HQL 查询一起 我得到了许多这样的统计信息 INFO Statistics HQL null time 1724ms rows blah 有人可以以任何方式帮助我为什么null查询大约需要
  • SQL LIKE 实际上是如何工作的

    例如 当我有这样的字符串时 ABBBCSLAK JDK ASAAAAFJKDSKJFSDF 当我像这样使用 SQL 时 SELECT FROM table WHERE column LIKE JDK 当服务器访问 JDK 时到底会发生什么
  • Docker Compose WordPress 卷显示为空

    我正在尝试使用 docker compose 设置一个简单的 WordPress 构建 然而 当我构建它时 卷似乎是空的 这是我的 docker compose yml version 3 services wordpress image
  • 如何在数据库中存储世界各地的所有地理位置?

    我在一家旅游网站工作 我需要存储游客去过的旅游景点 我需要位置表中的地点是唯一的 以便我可以知道特定地点的受欢迎程度等 我还需要存储在我身边的所有国家 州 城市 因为我不能依赖用户输入 数据库是MySQL 看到这些位置的可用数据集 我发现存
  • 在 OpenShift 上部署 Create React App:EACCES:权限被拒绝,打开 '/home/node/app/.eslintcache'

    我正在尝试使用 Dockerfile 在 OpenShift 上部署 Create React App webapp OpenShift 构建成功完成 当我访问路线时 我可以看到应用程序运行 1 秒 然后屏幕上出现此错误 Failed to

随机推荐

  • 如何检测对象变量是否已更改?

    我有一个代表栅栏的类 其内部由矩形和圆形标记对象 也是我的类 组成 栅栏有 4 个变量 x1 x2 y1 和 y2 如果发生任何这些更改 我必须修改或重建内部标记对象 存储和检查 4 个值并不是什么大问题 但这只是我的世界对象类中的第一个
  • gtkmm-4.0 在 macOS Monterey 上运行时遇到问题

    我无法让 gtkmm 4 0 在 Mac OS Monterey 上运行 这是一个使用 gtkmm4 的简单 C 应用程序 helloworld cpp include
  • 手机关机后如何启动闹钟

    在我的应用程序中 我使用AlarmManager类设置闹钟 为了在手机重新启动后触发警报 我使用了BroadcastReceiver 一切正常 我的闹钟定期触发 现在在这种情况下出现了问题 假设我当前的时间是2 30 pm我把闹钟定在2 3
  • Async Await 不适用于 React useStates 的状态

    我有一个 onClick 函数来删除一个项目 当用户单击该按钮时 状态deletedItem将被分配该项目 这是代码
  • 缓存大小和数组大小如何影响数组上数学运算的性能?

    我正在尝试学习缓存的用法 从我通过一些示例实验程序看到的情况来看 如果我将数组大小增加到超过特定值 则执行程序迭代数组并对元素进行一些操作所需的时间会突然增加很多 任何人都可以简单地解释一下术语缓存大小和数组大小如何影响数组上数学运算的性能
  • Google Analytics - iOS 安装跟踪

    我目前正在开展一个项目 该项目使用 Google Analytics 来跟踪整个应用程序中的各种情况 我想做的最后一件事是根据应用程序的某种促销来跟踪应用程序安装 经过一番搜索后 我发现了一篇关于 Google Analytics 的 iO
  • 提取图像文件元数据

    我希望能够在不打开文件的情况下提取图像的元数据和扩展属性 换句话说 如何以编程方式访问在 Windows 中右键单击文件并选择 详细信息 选项卡时显示的信息 使用 Net Framework 4 5 及更高版本执行此操作的正确方法是什么 我
  • 何时使用“window.onload”?

    在 JavaScript 中 当我想在页面加载后运行一次脚本时 我应该使用window onload或者只写脚本 例如 如果我想要一个弹出窗口 我应该写 直接在
  • JavaFX 块 GUI 中的繁重渲染任务(在画布中)

    我想创建一个在画布中执行许多渲染的应用程序 正常的 JavaFX 方式会阻止 GUI 在下面的应用程序代码中按下按钮确实很困难 使用 Java 8 运行 我在网上搜索了一下 但JavaFX不支持后台渲染 所有渲染操作 如中风线 都存储在缓冲
  • React Router 不渲染组件

    我想创建一个带有登录名的 React 应用程序 为了维护用户状态 我想使用上下文API https reactjs org docs context html随 React 16 3 引入 在实现登录路由时 我遵循了React Router
  • 如何从 GridView 的适配器获取每个 EditText 的值?

    我正在开发一个矩阵计算器应用程序 但我无法弄清楚如何获取 GridView 中每个 EditText 的值 我需要获取这些值以便将它们放入另一个矩阵中并计算它 如果用户想要使用 3x2 矩阵 则 GridView 的外观如下 这是一个包含六
  • 在 Jquery 中设置全局变量 onclick

    我想在Jquery中设置一个全局变量 以便当我单击列表项时 单击的列表项的id成为该变量的值 我有下面的代码 它也在这把小提琴 http jsfiddle net LbZe6 然而我的方式是 当您单击列表项时 该值会正确放入 console
  • 迦太基构建失败

    I ran carthage bootstrap platform iOS并得到 由于错误而跳过安装realm cocoa framework二进制文件 不兼容的Swift版本 框架是用3 1构建的 本地版本是4 0 然后在构建结束时我得到
  • 使用参数元组进行测试的 Pytest 文本注释

    我正在为此类问题寻找更优雅的解决方案 def ids x if isinstance x int return str x elif isinstance x str return x 0 pytest mark parametrize n
  • window.getSelection() 与 HTML 标签的偏移量?

    如果我有以下 HTML div class content Vivamus span luctus span urna sed urna ultricies ac tempor dui sagittis div 我举办了一个活动mouseu
  • 协议中的提示返回类型在 Clojure 中是否有任何影响?

    您可以在协议中暗示返回类型 defprotocol Individual Integer age this 并且编译器将使您的方法符合 defrecord person Individual String age this one Comp
  • 如何使用 powershell 重命名 blob 文件

    看似简单的任务 我只想重命名一个 blob 文件 我知道我必须复制它来重命名或执行其他操作 然后删除原始文件 但这很棘手 我已经创建了存储上下文 New AzureStorageContext 并获取了 blob Get AzureStor
  • 3D游戏编程

    他们使用什么编程语言来制作 Bioware 龙腾世纪 起源 等游戏以及 使命召唤 等其他一些 3D 游戏 如果我想做 3D 游戏编程 我该从哪里开始 有没有简单的教程 我想为电脑游戏进行 3D 游戏编程 我不想令人沮丧 但我也不想撒谎 即使
  • 如何在每种情况下仅使用 CSS 将首字母大写

    我只想将第一个字母大写并且其他应该小使用CSS 字符串是 SOMETHING BETTER sOMETHING bETTER Something better 但结果应该是 Something Better 使用 CSS 可以实现这一点吗
  • 在 Docker 容器中运行 MySQL

    所以我的最终目标是运行一个 MySQL Docker 容器 比如来自公共注册表的 tutum mysql 然后将一个 Gitlab Docker 容器 比如 Sameersbn gitlab 链接到它 其中两个容器都使用持久存储 然而 我被