不能在Docker容器中运行Mongo DB deamon

我使用boot2docker在OSX中运行docker容器。 这是一个最新的Ubuntu的图像与mongo安装使用官方的方式从包mongodb-org

我可以从命令行完美运行mongod ,但不能作为服务运行。

当我试图做sudo service mongod start它返回

 Rather than invoking init scripts through /etc/init.d, use the service(8) utility, eg 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, eg start mongod 

我试图做start mongod没有任何输出的start mongod 。 我尝试了我在Google中find的所有内容,但没有成功。

同时,我试图使用apt-get来安装MySQL,并且可以将其作为服务完美地运行。

另外我也尝试从Ubuntu的mongodb软件包(这是一个较老的版本)安装Mongo。 运行它作为服务也没有问题。

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

申请任何帮助。

由于Upstart(/ sbin / init)不是在机器上启动的第一个进程,因此Docker Ubuntu映像上的与init相关的命令将被取消/不工作。

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

如果您确实需要这样做,请为mongo编写一个传统的初始化脚本,然后使用update-rc.d将其插入。 然后,用/ sbin / service启动它应该可以工作。