Docker 上的 MySQL?

2024-04-25

我是 Docker 新手,仍在探索中,我遇到了这个问题,可能看起来很愚蠢,但我真的被困住了。

所以我有一个使用 MySQL 服务器的 Spring boot 应用程序,我想在容器上运行我的应用程序。

我设法“运行一个没有 MySQL 的应用程序”。 现在我正在按照本教程在容器中安装 MySQL 并使用该容器来运行我的应用程序。

https://medium.com/@itsromiljain/dockerize-rest-spring-boot-application-with-hibernate-having-database-as-mysql-579abcc4edc4 https://medium.com/@itsromiljain/dockerize-rest-spring-boot-application-with-hibernate-having-database-as-mysql-579abcc4edc4

所以当我运行这个命令时:

 docker run -p 6603:3306 --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=root" --env="MYSQL_PASSWORD=root" --env="MYSQL_DATABASE=test" mysql

i get this error : enter image description here

我的猜测是因为我的机器上安装并运行了 MySQL,但我不相信,因为容器应该是隔离的。

PS:我正在使用 Windows 容器的 Windows 10 计算机上运行 docker。 谢谢。 编辑:这是错误的文本格式

2019-02-08T09:09:23.467525Z 1 [错误] [MY-012574] [InnoDB] 无法锁定./ibdata1 错误:95 2019-02-08T09:09:23.468063Z 1 [错误] [MY-012592] [InnoDB] 文件操作中的操作系统错误号 95。 2019-02-08T09:09:23.468133Z 1 [ERROR] [MY-012596] [InnoDB] 错误号 95 表示“不支持操作” 2019-02-08T09:09:23.468193Z 1 [错误] [MY-012215] [InnoDB] 无法打开数据文件“./ibdata1” 2019-02-08T09:09:23.468275Z 1 [错误] [MY-012959] [InnoDB] 无法打开或创建系统表空间。如果您尝试将新的数据文件添加到系统表空间,但在这里失败了,您现在应该将 my.cnf 中的 innodb_data_file_path 编辑回原来的状态,并删除 InnoDB 在这次失败的尝试中创建的新 ibdata 文件。 InnoDB只写了那些全是零的文件,但还没有以任何方式使用它们。但要小心:不要删除包含您宝贵数据的旧数据文件! 2019-02-08T09:09:23.468387Z 1 [错误] [MY-012929] [InnoDB] InnoDB 数据库创建因错误无法打开文件而中止。在尝试再次启动之前,您可能需要删除 ibdata1 文件。 2019-02-08T09:09:24.070144Z 0 [错误] [MY-010020] [服务器] 数据字典初始化失败。 2019-02-08T09:09:24.070172Z 0 [错误] [MY-013236] [服务器] 新创建的数据目录 /var/lib/mysql/ 不可用。您可以安全地将其删除。 2019-02-08T09:09:24.070759Z 0 [错误] [MY-010119] [服务器] 正在中止 2019-02-08T09:09:24.072260Z 0 [系统] [MY-010910] [服务器] /usr/sbin/mysqld:关闭完成(mysqld 8.0.15)MySQL 社区服务器 - GPL。


首先:在我的 Ubuntu Linux 机器上运行确切的 docker 命令,在容器内运行 mysql,没有任何问题。

当然,这对你没有帮助,所以让我们看看你的问题:

这个问题应该与本地机器上运行的mysql实例无关,因为正如您所说,docker容器内的应用程序与主机是隔离的。

看来这是存储的问题。由于某种原因,docker容器内的mysql应用程序无法使用/var/lib/mysql(同样,在docker容器内)。错误消息清楚地表明了这一点:

...数据目录/var/lib/mysql 不可用。

这可能是你的 docker 安装本身的问题、镜像的问题或者容器内 mysql 配置的问题。我想说的第二个不太可能,因为 mysql docker 镜像被广泛使用,并且被认为相当稳定。后一个选项始终是可能的,但由于您所做的与 docker hub 页面上的示例没有太大不同,并且我能够在我的计算机上运行确切的命令,因此我倾向于责怪第一个选项。

您是否尝试过为映像提供 docker 卷? (看https://docs.docker.com/storage/ https://docs.docker.com/storage/供全球参考)

最简单的类型由 docker 管理并添加到 docker 命令中,如下所示:

-v mysql_data:/var/lib/mysql

您的命令将变为:

docker run -v mysql_data:/var/lib/mysql -p 6603:3306 --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=root" --env="MYSQL_PASSWORD=root" --env="MYSQL_DATABASE=test"  mysql

如果要将其安装到主机上的目录,请使用以下参数:

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

Docker 上的 MySQL? 的相关文章

  • 使用 PHP Mcrypt 加密并使用 MySQL aes_decrypt 解密?

    是否可以使用 PHP 加密数据mcrypt并用MySQL在数据库中解密AES DECRYPT 目前 我正在使用RIJNDAEL 128 for mcrypt关于 PHP 我还确保数据库中的加密字段具有数据类型blob Yet AES DEC
  • SQL 连接中的多个条件

    如何指定多个条件SQL加入 我知道A key B key除此之外是强制性的 以下对于指定多个条件是否正确SQL ON A key B key and or cond1 and or cond2 etc OR ON A key B key w
  • 在自引用表中查询父项和子项

    我有一个Comments如下表所示 在MySQL content created at id parent id second comment 2014 06 03T10 08 44 0000 37 1 third comment 2014
  • 如何调试 MySQL 上的锁等待超时?

    在我的生产错误日志中 我偶尔会看到 SQLSTATE HY000 一般错误 1205 超过锁等待超时 尝试 重新开始交易 我知道当时哪个查询正在尝试访问数据库 但是有没有办法找出哪个查询在那个精确时刻拥有锁定 暴露这一点的是这个词交易 从该
  • 进行 URL 重写

    当我点击网站上给定条目的评论部分时 URL 如下所示 http www com comments index php submission Portugal 20Crushes 20North 20Korea submissionid 62
  • 调用不同 SELECT 语句的 MySQL IF/CASE 语法

    我在使用 MySQL 时遇到问题IF or CASE syntax 程序是这样的 我有一个调用 MySQL 查询的 PHP 项目 假设 PHP 传递变量X If X is not 0那么它应该执行如下查询 SELECT FROM table
  • 当我只想更改一个列属性时,是否必须在 SQL 语句中包含所有列属性?

    我有一个 MySQL 数据库 我想通过向所有列添加注释来进行注释 从我读到的MySQL 文档 http dev mysql com doc refman 5 5 en alter table html 在更改其中任何一个时 必须包括数据类型
  • 从 MySQL 执行 shell 命令

    我知道我正在寻找的可能是一个安全漏洞 但由于我设法在 Oracle 和 SQL Server 中做到了这一点 所以我会尝试一下 我正在寻找一种从 MySQL 上的 SQL 脚本执行 shell 命令的方法 如有必要 可以创建和使用新的存储过
  • 如何允许Windows Server上的MySQL进行外部远程访问?

    我已经在我的 Windows Server 2008 R2 上安装了 xampp 我在那里运行一个脚本来存储当天的数据 现在我想通过 mysql connect hostname username pw 连接数据库从我自己的计算机或外部检索
  • 将数据插入多个表 PHP MySQL

    我有一个用于存储食谱的基本数据结构 它由三个表组成 如下所示 表 1 食谱 recipe id recipe name 表 2 成分 成分 ID 成分名称 表 3 配方 成分 配方 id 成分 id 我在添加新配方时遇到问题 想知道插入的最
  • 在重复键上仅更新 Null 或空值

    我有一个 mysql 查询来合并主键 IMO 上的两个表 查询工作正常 但我遇到的问题是在重复键更新时 我只想更新 wp second 表的那些没有值的字段 简而言之 在重复键上 wp second 值仅应在 null 或空时更新 这是我到
  • 当 docker 处于分离状态或前台时,日志不会发送到 AWS Cloudwatch

    当我以交互模式运行 docker 脚本时 它可以工作 我可以在控制台和 AWS CloudWatch Logs 中查看日志 下面的 docker 脚本以交互模式运行 我添加了 awslogs 配置 以便日志进入 cloudwatch doc
  • Python Pandas to_sql,如何创建带有主键的表?

    我想使用 Pandas 的 to sql 函数创建一个 MySQL 表 该函数有一个主键 在 mysql 表中拥有主键通常是件好事 如下所示 group export to sql con db name config table grou
  • 服务无法启动虚拟机“DockerDesktopVM”,因为 Hyper-V 组件之一未运行

    我有 Window Server 2016 2019 虚拟机 Openstack 至此Hyper V安装成功 但无法启动 MobyLinuxVM ExposeVirtualizationExtensions 已通过 PowerShell 在
  • 如何从 ubuntu 14.04 中完全删除 docker

    我不久前在 Ubuntu 上安装了 Docker 但是当我尝试删除时 Docker 仍然存在于系统中 我跟着这个https stackoverflow com a 31313851 2340159 https stackoverflow c
  • 如何在多个端口上运行 FastAPI 应用程序?

    我有一个 FastAPI 应用程序 正在使用 Uvicorn 以编程方式在端口 30000 上运行 现在我也想在端口 8443 上运行相同的应用程序 相同的应用程序需要在这两个端口上运行 我怎样才能在Python代码中做到这一点 最小可重现
  • MySQL 连接丢失:系统错误:110

    我正在尝试通过专用服务器上的 localhost 连接到 mySQL 服务器 但我不断收到错误 Lost connection to MySQL server at reading initial communication packet
  • 如何在node-mysql查询后获取警告

    如何获取查询执行后识别的相应警告 如下所示 connection query squery function err rows search for OkPacket in 2 dimension array var warningCoun
  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • 如何对表的选定列进行 mysql 转储

    我有一个要求 我必须仅对表的一列进行 mysql 转储 由于该表有太多列 我不想转储整个表 我必须将表的转储从一台服务器转移到另一台服务器 知道我该怎么做吗 如果您想获取包含架构的 mysql 转储 可以按照以下步骤完成 创建临时表 cre

随机推荐

  • 动态获取路由路径

    我最近将一些模板从 ERB 转换为 Haml 大多数情况下 它变得更干净 更好 但按钮定义开始变得糟糕 我想转换这个 link to t new default gt t helpers links new new intern path
  • Python ctypes 指向结构体指针的指针

    我在获取指向工作结构的指针时遇到问题 这是我抛出异常 ArgumentError 参数 1 预期 LP LP List 实例而不是指向 LP LP List 的指针 的代码 class List Structure fields head
  • 如何将额外参数传递给 R 中 do.call 的函数参数

    我想传递参数 stringsAsFactors FALSE to rbind in do call 但以下方法不起作用 data lt do call rbind strsplit readLines home jianfezhang ad
  • 用python计算逻辑回归

    我尝试计算逻辑回归 我有 csv 文件形式的数据 看起来像 node id second major gender major index year dorm high school student fac 0 0 2 257 2007 1
  • 为什么 ts-toolbelt 库使用“Oextendsunknown”表达式

    我正在研究 ts toolbelt 库的源代码 而我也经常遇到这样的表情O extends unknown 在我看来 它没有添加任何功能 所以我想知道 它是做什么用的 hidden export type UnionOf
  • Cypher - 匹配两个不同的可能路径并返回两者

    我有一个数据集 我在这里作为示例表示 http console neo4j org id 3dq78v http console neo4j org id 3dq78v 我想要做的是对于图表中的每个 Z 节点 该示例只有一个 但我有很多 我
  • 苹果组合框架:如何并行执行多个发布者并等待所有发布者完成?

    我正在发现组合 我编写了以 组合 方式发出 HTTP 请求的方法 例如 func testRawDataTaskPublisher for url URL gt AnyPublisher
  • 使用不同的配置文件设置 Git 的开发和测试分支

    我们有一个 WordPress 安装 它有不同的实时 测试 开发配置文件 我知道如何让 Git 忽略wp config php文件 但我想在每个分支中有一个不同的 WP config 文件 这样当开发人员切换到 Dev 时 它将使用 Dev
  • 龙卷风 websocket 应用程序中的用户身份验证

    现在 我提高了我的龙卷风技能 并有一个关于用户身份验证的问题 我的解决方案是在首页上创建安全令牌 然后将其与其他数据一起发送 从 javascript 到龙卷风服务器 在其中检查和验证用户 我想到了 cookie 但我不知道如何读取 coo
  • Sql Server 数据库项目 - VS 2013 中缺少模板

    在 VS2012 中 我使用 Sql Server 数据库项目来管理我的数据库 我尝试将 Db 项目添加到新的 VS2013 解决方案中 但我似乎找不到模板 我在网上和已安装的模板中查看过 有任何想法吗 对我来说 它列在 其他语言 下 我有
  • 将等号('=')传递给 MediaWiki 模板中的参数

    如何在模板参数中使用 字符而不破坏模板解析器 我不是 MediaWIKI 开发人员 所以我没有调试代码或检查日志 我希望这里有人提供转义传递给模板的字符的提示 使用以下内容创建一个名为 Test 的模板 1 像这样 Test R 3 2 1
  • 使用curl解压gzip数据

    I added curl easy setopt client CURLOPT ENCODING gzip 到我的代码 我预计curl 会导致服务器发送压缩数据并解压缩它 实际上我在 HTTP 标头中看到数据被压缩 变化 Accept En
  • Codility 的复杂性达到顶峰

    我刚刚完成了以下 CodilityPeaks http codility com demo take sample test peaks问题 问题如下 给出一个由 N 个整数组成的非空零索引数组 A 峰值是大于其邻居的数组元素 更准确地说
  • 如何使用 JAX-WS 将 SOAP 标头添加到 SOAP 请求?

    我们需要使用其他团队开发的网络服务 使用JAX WS用于生成网络服务 我们正在使用wsimport生成客户端存根 问题是我需要将以下信息作为标头与 SOAP 主体一起传递
  • 如何更改 Github/Markdown 中图像的大小?

    我正在 Github 存储库中编辑 Readme md 文件 并插入了一张图片 请参阅https github com khpeek FMCW 雷达 https github com khpeek FMCW radar 图片占据了整个宽度
  • 有点好奇了解 .NET 中的表达式树

    我读过几篇文章和几篇stackoverflow com关于表达式树的帖子 我的大脑很难理解 问题 1 像DOM 文档对象模型 一样 它是逻辑的内存表示 2 有人解释说它是一种将可执行 代码转换为数据的机制 使用它我们可以生成表示代码的数据结
  • Theano 中的名称冲突

    我正在尝试在模块中导入 theano 但我得到了回溯 File media tarun 6A86CA8286CA4DEF develop pydy pydy codegen code py line 16 in
  • SearchManager - 添加自定义建议

    我已经阅读了有关构建搜索界面和添加自定义建议的所有在线文档 但我仍然不清楚这是如何工作的 文档说我必须 为您的建议构建一个表 例如在 SQLiteDatabase 中 并使用所需的列格式化表 我假设系统最终会自己用适当的建议填充此表 但是哪
  • gitk:悬停时显示分支名称

    你能告诉我如何让 gitk 工具在悬停时显示分支名称或建议能够这样做的工具吗 gitk 显示分支缠结 其中分支是无名的 我必须猜测哪个是 master 哪个是 stable 等 在 gitk 窗口的左下半部分 有一个信息行指定Branche
  • Docker 上的 MySQL?

    我是 Docker 新手 仍在探索中 我遇到了这个问题 可能看起来很愚蠢 但我真的被困住了 所以我有一个使用 MySQL 服务器的 Spring boot 应用程序 我想在容器上运行我的应用程序 我设法 运行一个没有 MySQL 的应用程序