Mongodb 无法在docker容器中运行Mongo DB deamon

Mongodb 无法在docker容器中运行Mongo DB deamon,mongodb,ubuntu,docker,linux-containers,Mongodb,Ubuntu,Docker,Linux Containers,我正在OSX中使用boot2docker运行docker容器。这是一个最新的Ubuntu映像,mongo是通过包mongodb org的官方方式安装的 我完全可以从命令行运行mongod,但不能将其作为服务运行 当我尝试使用sudo服务mongod start时,它会返回 Rather than invoking init scripts through /etc/init.d, use the service(8) utility, e.g. service mongod start Sin

我正在OSX中使用boot2docker运行docker容器。这是一个最新的Ubuntu映像,mongo是通过包mongodb org的官方方式安装的

我完全可以从命令行运行mongod,但不能将其作为服务运行

当我尝试使用sudo服务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
我已经尝试过开始mongod,它没有任何输出。我已经尝试了在谷歌找到的所有东西,但没有运气

同时,我尝试使用apt get安装MySQL,我可以将其作为服务完美运行

我还尝试从Ubuntu的mongodb包安装Mongo,这是一个旧版本。将其作为服务运行也没有问题

我怀疑/etc/init.d/mongod脚本有问题,但不知道具体是什么


通知任何帮助。

Docker Ubuntu映像上与init相关的命令已被禁用/无法工作,因为Upstart/sbin/init不是机器上启动的第一个进程

一般来说,任何使用Upstart初始化的服务都不会在Docker容器中正常运行,除非您使用/sbin/init启动容器。您可能必须使用ubuntu Upstart映像,并对其进行一些调整


如果确实需要这样做,请为mongo编写一个传统的init脚本,并使用updaterc.d插入它。那么,从/sbin/service开始应该可以工作。

为什么不让Dockerimage运行mongod而不是init/shell/etc?每个容器一个进程,对吗

使用Dockerfile创建图像,并将CMD设置为:
CMD[/usr/bin/mongod,-f,/etc/mongod.conf]

您可以发布Dockerfile吗?您可能需要与。一般来说,在Docker容器中使用服务是个坏主意。我在@ChrisMcKinnel上取得了很好的效果。我正在容器中直接安装mongo。不是来自Dockerfile的。@MarkusWMahlberg谢谢!我来看看:我被困在同一个问题上。你有没有想过?