通过 ssh 启动时 Docker 容器 mongod 错误

2024-03-11

我已经在 docker 容器上安装了 mongodb,并在 ubuntu 14.04 上安装了 openssh。容器正在使用 ssh 运行,但是当我 ssh 进入容器时,尝试启动 mongod 时出现以下错误。

root@430f9502ba2d:~# service mongod start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongod start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongod

Also start mongod不影响任何事情。

也尝试过看看这个Mongo 守护进程不通过服务 mongod start 运行 https://stackoverflow.com/questions/25271077/mongo-daemon-doesnt-run-by-service-mongod-start?rq=1没有它的帮助。

mongod --config /your/path/to/mongod.conf似乎也不起作用,只是锁定。

下面的错误是标准错误,因为当然没有运行 mongod 服务器。

root@430f9502ba2d:/# mongo
MongoDB shell version: 2.6.9
connecting to: test
2015-05-07T20:49:56.213+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-05-07T20:49:56.214+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

这里的问题是你的方法。 Docker 没有像您在传统系统上所习惯的 init 系统。 docker 所做的是replacePID 1 与您在中指定的进程CMD https://docs.docker.com/reference/builder/#cmd or ENTRYPOINT https://docs.docker.com/reference/builder/#entrypointDockerfile 命令。暂时忽略ENTRYPOINT,因为它取代了你的CMD运行(通常,它是/bin/sh -c)。您需要指示 docker 在 Dockerfile 中启动 mongod 服务:CMD命令,例如:

CMD usr/bin/mongod

当您运行容器时,mongod 将是您的 PID 1。现在,您可能想知道“但是我的 SSH 服务器呢?”答案是:不要在 Docker 容器上运行 SSH 服务器。那里are在某些用例中,运行 SSH 服务器是可以的,但几乎所有“正常”原因(调试、C&C 等)都可以通过在容器上获取​​ shell 的“最佳实践”来消除:

docker exec -it myContainer /bin/bash

这将使您进入正在运行的容器的 shell 中。这里建议使用 Ansible 之类的工具来管理 docker 容器中的配置和更改。但是,请记住,docker 容器是短暂的,您不应该重新启动服务并更改其配置状态。如果需要更改配置,请更改 Dockerfile 或配置数据,然后启动新容器。祝你好运!Here https://docs.docker.com/examples/mongodb/有关 Dockerizing MongoDB 的更多信息,但请记住,那里描述的方法会改变ENTRYPOINT在 Dockerfile 中,这涉及更多一点,需要更好地了解 Dockerfile 中发生的情况。

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

通过 ssh 启动时 Docker 容器 mongod 错误 的相关文章

随机推荐

  • 如何在 git checkout 中使用八进制字符?

    我有一个音乐文件的 git 存储库 最近我发现有些文件被删除了 我想我不小心删除了它们 但现在我只是短暂地陶醉于我有先见之明的事实 使用 git 存储库 因此我当前的 git 状态验证它们已被删除 以下是一些清单 deleted Steve
  • 在 ASP .NET (SMTP) 中发送邮件

    我在代码文件中编写了以下代码 但它不起作用 请帮助我 protected void Button1 Click object sender EventArgs e MailMessage msgeme new MailMessage ema
  • VBA:复制时前面的零被删除

    我正在使用 VBA 创建 Excel 文件的副本 在该文件中 有一列包含前面带有零的数字 该文件的副本已创建 但该列中的数据将被删除 我需要保留前面带有零的值 我该如何用VBA解决这个问题 最好的方法是通过将 Range NumberFor
  • 带有泛型的映射数组的问题[重复]

    这个问题在这里已经有答案了 可能的重复 Java 泛型和数组初始化 https stackoverflow com questions 470198 java generics and array initialization 如何在 Ja
  • 代码在 g++ 中运行完美,但在 Xcode 中则不然 - 找不到文件

    我创建了一个包含内容的文本文件 它与 cpp 文件位于同一文件夹中 而且我已经多次确认该文件存在 当我运行 g 时 编译并运行它会找到该文件 当我在 Xcode 中运行它时 它不起作用 如果找不到该文件 include
  • int 和 NSInteger 有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 何时使用 NSInteger 与 int https stackoverflow com questions 4445173 when to use nsinteger vs int 为什么会有 NS
  • 检查 .lib 文件的工具?

    我正在评估一些文档不足的软件 当我构建示例项目时 我收到一个链接器错误 如下所示 error LNK2019 unresolved external symbol 这个应用程序没有大量的 lib 文件 因此我可以通过反复试验来解决这个问题
  • 嵌入式非托管 DLL 无法在 ASP.NET 中加载

    我正在为 WCF 服务开发 ASP NET 主机 该服务引用 C CLI 包装器库 该库本身引用非托管 DLL 基于这个问题 https stackoverflow com questions 2907169 asp net load un
  • 亚音速 3.0.0.3 崩溃

    运行最新版本的 SubSonic 3 0 0 3 检索单个记录 更改一个字段并调用 Save 会导致以下代码中出现空引用异常 公共无效更新 IDataProvider提供者 if this dirtyColumns Count gt 0 r
  • 如何处理 next.js 路由中的尾部斜杠?

    我正在尝试设置 next js 应用程序 但在处理带有尾部斜杠的路由时遇到问题 因此 例如 如果我有这样的页面结构 pages index js blog index js slug js 然后去 给我基础index js 即将 blog给
  • msdeploy 上的嵌套虚拟目录已删除

    我的项目使用 msdeploy 将包发布到 IIS 它部署在项目的现有版本上 在Web应用程序中 我有一个虚拟目录 但每次部署项目时 虚拟目录都会消失 我通过以下方式调用 MSDepoly source package d 9 1 0 67
  • 将文件直接从 FTP 传输到 Azure 文件存储,无需将它们保存在本地内存或磁盘中

    我必须将文件从 FTP 传输到 Azure 文件存储 我的代码工作正常 但我正在内存中传输这些文件 这不是最佳实践 所以首先我将流读取到Byte内存中的数组 然后我将输出上传到 Azure 文件存储 现在我知道最好异步执行此操作 但我不知道
  • google.script.run 不返回字符串

    试图找出用于制作 Google 文档插件的 Google Apps 脚本 我有 Code gs function helloWorld return Hello World 在我调用的 code gs 下 侧边栏 html console
  • 播放时拔掉耳机会导致 iPhone 应用程序出现错误

    我正在创建一个基于的应用程序在这里说话示例应用程序 如果耳机已插入或默认通过扬声器播放 我希望音频通过耳机播放 我使用了底部的代码来实现这一点 并且除非在播放过程中拔掉耳机 否则它工作正常 此时播放结束 没关系 问题是 当我再次点击播放时
  • Dockerfile 还是注册表?哪种分配策略是首选?

    如果您使用 Dockerfile 制作服务 您是否更愿意使用 Dockerfile 构建镜像并将其推送到注册表 而不是分发 Dockerfile 和存储库 供人们构建镜像 哪些用例有利于 Dockerfile repo 分发 哪些用例有利于
  • 可嵌入的 jpa 类应该实现 equals 和 hashCode 吗?

    假设我有以下场景 Entity public class Person Id private Long id Surrogate key Embedded private Name name Natural key public int h
  • C++:平台相关类型 - 最佳模式[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 JavaCV 从网络摄像头捕获和录制视频

    我是 JavaCV 新手 我很难找到关于我感兴趣的主题的不同问题的好教程 我已经成功地从我的网络摄像头实现了某种实时视频流 但问题是我使用我在网上找到的这段代码片段 Override public void run FrameGrabber
  • 如何设置 UIDatePickerModeCountDownTimer 的最大时间?

    我想问一下iOS倒计时最大时间怎么设置 例如最多1小时30分钟 倒数计时器是从UIDatePicker s mode Thanks EDIT 有人说我必须设置最小 最大日期 我只是在故事板中设置它们 但我没有看到任何区别 设置的时间是我当地
  • 通过 ssh 启动时 Docker 容器 mongod 错误

    我已经在 docker 容器上安装了 mongodb 并在 ubuntu 14 04 上安装了 openssh 容器正在使用 ssh 运行 但是当我 ssh 进入容器时 尝试启动 mongod 时出现以下错误 root 430f9502ba