macOS上MongoDB Docker容器无限重启的解决方案

117次阅读
没有评论

问题描述

在本地的Docker环境中,发现MongoDB的Docker容器每隔几秒钟就会无限重启,尽管之前它是正常工作的。用户的环境为:macOS 13.2.1,Docker版本为4.17.0,Docker引擎为20.10.23,Docker Compose版本为1.29.2,Credential Helper版本为v0.7.0。用户尝试删除了MongoDB数据库文件夹,并重新获取了镜像,但是MongoDB日志中只包含以下内容:

09:10:08.38 Welcome to the Bitnami mongodb container
09:10:08.40 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-mongodb
09:10:08.42 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-mongodb/issues
09:10:08.43 Send us your feedback at containers@bitnami.com
09:10:08.45
09:10:08.46 INFO  ==> ** Starting MongoDB setup **
09:10:08.53 INFO ==> Validating settings in MONGODB_* env vars...
09:10:08.56 INFO  ==> Initializing MongoDB...
09:10:08.63 INFO  ==> Deploying MongoDB from scratch...
09:10:08.67 INFO  ==> Custom configuration /opt/bitnami/mongodb/conf/mongodb.conf detected!

解决方案

在执行以下操作之前,请确保你已经备份了重要数据,并且了解操作可能带来的风险。

步骤1:取消使用Rosetta进行x86/amd64仿真(仅适用于Apple Silicon芯片的Mac)

如果你的Mac使用了Apple Silicon芯片,并且Docker的x86/amd64容器正在使用Rosetta进行仿真,这可能会导致容器出现问题。尝试取消使用Rosetta进行仿真。

  1. 打开Docker设置,点击”Settings”。
  2. 在”Settings”中,找到”Features in development”选项,并取消勾选”Use Rosetta for x86/amd64 emulation on Apple Silicon”。
  3. 重新启动Docker。

步骤2:重新启动容器

在取消使用Rosetta进行仿真后,尝试重新启动你的MongoDB容器。

注意事项

  1. 在取消使用Rosetta进行仿真后,x86/amd64容器可能会以较慢的速度运行。这是因为它们不再在Rosetta的仿真层上运行。
  2. 如果之前使用相同选项时容器正常工作,但现在不再工作,这可能与芯片仿真有关。你可以尝试等待Docker或相关软件更新来解决这个问题。

以上是解决MongoDB Docker容器无限重启问题的方法。如果问题仍然存在,你可能需要进一步查看Docker和MongoDB的日志以获得更多信息。希望这些解决方案能够帮助你解决问题。

请记住,在执行任何更改之前,最好备份你的数据,以防意外情况发生。

如果问题持续存在,你可以考虑查看Docker和MongoDB的官方文档、社区支持论坛或GitHub问题跟踪页面,以获取更多帮助和支持。

正文完