Dockerfile 中的 Mongorestore

2024-02-24

我想创建一个启动 mongo 服务器并自动从以前的版本恢复的 Docker 映像mongodump启动时。


这是我的图像 Dockerfile:

 FROM mongo

 COPY dump /home/dump

 CMD mongorestore /home/dump

当我运行这个时,我遇到了这个错误:

Failed: error connecting to db server: no reachable servers


有什么办法可以得到mongorestore通过 Docker 运行的命令?


在来自的帮助下这个答案 https://stackoverflow.com/a/20354167/3692084,Marc Young 的回答,以及 Dockerfile 参考我能够让这个工作。


Dockerfile

FROM mongo

COPY dump /home/dump
COPY mongo.sh /home/mongo.sh
RUN chmod 777 /home/mongo.sh

CMD /home/mongo.sh

mongo.sh

#!/bin/bash

# Initialize a mongo data folder and logfile
mkdir -p /data/db
touch /var/log/mongodb.log
chmod 777 /var/log/mongodb.log

# Start mongodb with logging
# --logpath    Without this mongod will output all log information to the standard output.
# --logappend  Ensure mongod appends new entries to the end of the logfile. We create it first so that the below tail always finds something
/entrypoint.sh mongod --logpath /var/log/mongodb.log --logappend &

# Wait until mongo logs that it's ready (or timeout after 60s)
COUNTER=0
grep -q 'waiting for connections on port' /var/log/mongodb.log
while [[ $? -ne 0 && $COUNTER -lt 60 ]] ; do
    sleep 2
    let COUNTER+=2
    echo "Waiting for mongo to initialize... ($COUNTER seconds so far)"
    grep -q 'waiting for connections on port' /var/log/mongodb.log
done

# Restore from dump
mongorestore --drop /home/dump

# Keep container running
tail -f /dev/null

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

Dockerfile 中的 Mongorestore 的相关文章

  • 如何使用多阶段构建减小 python (docker) 图像大小?

    我正在寻找一种使用 python 和 Dockerfile 创建多阶段构建的方法 例如 使用以下图像 第一张图片 安装所有编译时要求 并安装所有需要的 python 模块 第二张图片 将所有已编译 构建的包从第一个映像复制到第二个映像 而不
  • 猫鼬的深层填充

    我有两个模式 一张用于用户 另一张用于帖子 在用户模式中 我有latestPost的一个属性 它是帖子模式中条目的ObjectId 当我加载用户对象时 我想将 lastestPost 作为对象获取 其中包含用户架构中作者的用户名 其中作者是
  • Docker 中的 NGINX 缓存 IP 地址并提供错误的 Content-Type

    Summary 我想让NGINX 不是NGINX Plus 通过使用变量从DNS名称重新解析IP地址proxy pass 如建议的这篇 Nginx 官方文章 在变量中设置域名 部分 https www nginx com blog dns
  • Docker 中的 Airflow:如何将 DAG 添加到 Airflow?

    我想将 DAG 文件添加到 Airflow 它在 Ubuntu 上的 Docker 中运行 我用了以下git 存储库 https github com puckel docker airflow 包含配置和 docker 镜像的链接 当我跑
  • CoreMongooseArray 到普通数组

    我正在从一个架构中选出 2 个元素 并希望在另一个架构中进行更新 为此 我使用切片方法将数组中的前 2 个元素列入候选名单 但我越来越 CoreMongooseArray 元素1 元素2 而不是 元素1 元素2 如何删除 CoreMongo
  • Docker 容器中的 LDAP 身份验证

    默认情况下 当Docker容器启动时 里面的用户是sudo I want 默认情况下将 sudo 用户锁定在容器中 在容器中使用 LDAP 身份验证而不是默认身份验证 当用户与映像一起提供时 或者在容器运行时由 sudo 用户创建 为此 我
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • mongo objectid“包含”查询

    我想查询 MongoDB 数据库中的集合以查找包含部分 ObjectID 的所有记录 对于普通字符串 我可以使用如下正则表达式 db teams find some string 51eed 但是我该如何对 ObjectID 执行类似的操作
  • Mongoid 命名范围比较同一文档中的两个时间字段

    我需要在 Mongoid 中创建一个命名范围来比较同一文档中的两个时间字段 例如 scope foo where gt updated at gt gt checked at 这显然不会像它对待的那样起作用 checked at作为一个符号
  • 在 MongoDb 上序列化仅获取属性

    使用 C 6 我可以写 public class Person public Guid Id get public string Name get public Person Guid id string name Id id Name n
  • Spring Data MongoDB 和批量更新

    我正在使用 Spring Data MongoDB 并且想要执行批量更新 就像此处描述的那样 http docs mongodb org manual reference method Bulk find update Bulk find
  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • 如何在 GitHub Action 中等待容器健康?

    我正在使用 GitHub Action 进行一些自动化测试 我的应用程序是在 docker 中开发的 name Docker Image CI on push branches master pull request branches ma
  • 如何使用 pipelinev 为 python 应用程序制作轻量级 docker 镜像

    我可以通过以下简单的操作为我的 python 应用程序生成工作图像Dockerfile FROM python 3 7 WORKDIR myapp COPY Pipfile RUN pip install pipenv RUN pipenv
  • 元素数组中数组的 MongoDB 全文

    当元素数组中的数组包含应与我的搜索匹配的文本时 我无法检索文档 以下是两个示例文档 id foo name Thing1 data text X X name Thing2 data text X Y id foo
  • Nginx - Heroku Docker - 是否可以在 Heroku 上运行 Nginx 作为反向代理

    我试图弄清楚如何使用 Nginx 在 Heroku 应用程序上构建反向代理 问题是 Heroku 似乎每个应用程序只接受一个容器 但我的应用程序系统至少会使用三个容器 一个用于 Nginx 一个用于我的应用程序前端 一个用于我的业务逻辑服务
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • Mongodb 数据建模/投票更新(向上和向下)

    Mongo 中有一个关于投票数据模型 更新查询的示例 http www mongodb org display DOCS MongoDB Data Modeling and Rails MongoDBDataModelingandRails
  • 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

    我正在研究下面的代码片段 我有一个名为 stuObjList 的 JSON 对象数组 我想循环遍历数组以查找具有特定标志集的特定 JSON 对象 然后进行数据库调用以检索更多数据 当然 FOR 循环不会等待数据库调用返回并到达 j leng

随机推荐

  • iOS ARM64 系统调用

    我正在学习更多关于 shellcode 以及在 iOS 设备上使用 arm64 进行系统调用的知识 我测试的设备是 iPhone 6S 我从此链接获取了系统调用列表 https github com radare radare2 blob
  • 如何强制执行“override”关键字?

    有没有办法强制使用 C 11overrideVisual C 2012 中的关键字 也就是说 如果我忘记说override 然后我想得到警告 错误 C 11几乎有你想要的 原来是override关键字是更大提案的一部分 N2928 http
  • Google Places API 未返回印度的任何结果

    https maps googleapis com maps api place search json location 28 635704 77 224982 radius 50000 types restaurant language
  • SQL Server中删除表和删除表有什么区别?

    在 SQL Server 中 以下两者有什么区别 右键单击数据库对象 表 视图 并选择 删除表 即将表脚本编写为 gt DROP To gt New Query Editor Window 右键单击数据库对象 表 视图 并选择删除 我尝试了
  • Chrome 不缓存 css 文件。缓存适用于 .js/.png 文件。

    我观察到 CSS 文件没有在 Chrome 浏览器上缓存 我的应用程序是由 Angular CLI 构建的 所有必需的缓存控制标头和 Expires 标头均设置为 5 分钟 Accept Ranges bytes Cache Control
  • 在 R 中绘制多行文本框

    我正在使用 R 创建多图布局插图 并且能够在其中一个图中创建多行文本框会很方便 我熟悉使用 Sweave 来组合图像 文本和 R 代码 但是由于各种原因 我需要将其作为在 R 中生成的单页图 因此需要绘制文本框而不是使用 Latex 标记
  • GET_TASKS 权限已弃用

    我有一个使用此权限的安全应用程序 App Locker android permission GET TASKS 在 android Lollipop 中 此权限已被弃用 我希望我的应用程序可以在 21 API 中运行 谁能指导我怎么做 T
  • JPADatabase 的 jooq codegen 无法正常工作

    我在 JPADatabase 中使用 jooq codegen 时遇到问题 我经历过这个post https stackoverflow com questions 42968155 unable to generate jooq clas
  • 如何使用 javascript/jquery 获取具有特定文本的元素的类名称?

    我需要一种 JavaScript 或 jQuery 方法来通过 DIV 元素包含的文本提取 DIV 元素的类名 让我们举例说明 如果我有的话 我们可以说以下代码 div class className UniqueText div 我需要知
  • 用于设置主页功能的通用 JavaScript [重复]

    这个问题在这里已经有答案了 是否有任何适用于几乎所有浏览器的 javascript 将网页设置为主页 我正在使用下面的一种 但它只适用于 i e 和 mozilla var flag false function setHomepage w
  • Scalac 挂在 RegexParser 的阶段类型上

    我有一个 scala 程序 其中有一个解析器组合器 这是通过扩展来完成的scala util parsing combinator RegexParsers 我使用 Scala 2 10 开发它 一切正常 昨天我将系统升级到了 Scala
  • 播放前检测浏览器/设备是否可以内嵌播放 HTML5 视频

    我知道我可以检查一下navigator userAgent如果设备是 iPhone 但还有其他设备 其中一些我不知道哪些设备会在其自己的播放器中播放视频 可以列出所有不内联播放视频的浏览器 设备 但我想知道是否还有其他解决方案 JavaSc
  • 创建 iOS 应用程序 (Xcode) 时,如何关闭自动图标“凝胶”

    有没有办法去掉创建 iPhone 应用程序时自动添加到图标的突出显示 或者我必须在 PS 中手动补偿 Thanks Set UIPrerenderedIcon to YES在你的 Info plist 中 欲了解更多信息 请参阅 信息属性列
  • 将 pandas 数据框中的 datetime64 列拆分为日期和时间列

    如果我有一个数据框 第一列是 datetime64 列 如何将此列拆分为 2 个新列 日期列和时间列 这是到目前为止我的数据和代码 DateTime Actual Consensus Previous 20140110 13 30 00 7
  • R 如何将“-17+3”等简单函数分离为数字,例如“-17”和“3”

    我的数据就像 17 3 2 6 我需要做的是将每个数字分成两个数字 例如 17 3 变为 17 和 3 2 6 分为 2 和 6 通过使用 R 非常感谢 gregexpr http stat ethz ch R manual R devel
  • Fortran:哪种方法可以更快地更改数组的等级? (重塑与指针)

    当我们处理大型数组时 考虑数组的等级和形状变化的成本可能很重要 特别是当它在多个子例程 函数中发生几次时 我问题的主要目的是将数组的排名从第二更改为第一 反之亦然 为此 可以使用 重塑声明 指针变量 下面的代码展示了如何使用指针变量 pro
  • C++中双冒号的全名

    如果我有课 class A public A void print private int value A A value 0 void A print cout lt lt value lt lt endl 最后两行中 符号的完整名称是什
  • 如何使用messagebox输出调试信息

    我正在使用 MessageBox 尝试进行一些手动调试 这就是我所想出的全部 我应该如何使其工作 private void DisplayMessageBoxText MessageBox Show Alert Message 您可以使用写
  • 关于使用遗留代码的建议

    我需要一些关于如何使用遗留代码的建议 不久前 我接到的任务是向报告应用程序添加一些报告 2005 年用 Struts 1 编写的 没什么大不了的 但是代码相当混乱 没有使用Action形式 基本上代码就是一个巨大的action 里面有很多i
  • Dockerfile 中的 Mongorestore

    我想创建一个启动 mongo 服务器并自动从以前的版本恢复的 Docker 映像mongodump启动时 这是我的图像 Dockerfile FROM mongo COPY dump home dump CMD mongorestore h