I can't manage to install mongodb in a Ubuntu LXC container.
I've set-up the Ubuntu 14.10 host by following these instructions: https://linuxcontainers.org/lxc/getting-started/
lxc-create --version
1.1.0
Following the docs, I created the VM via the download template and selected a Ubuntu 14.10 amd64 guest (though I experience the same behaviour with 14.04 amd64):
I start attach myself to it
lxc-start -n test0 && lxc-attach -n test0
inside the container I run
apt-get update && apt-get install mongodb
The installation fails with the following output:
...
Setting up mongodb-clients (1:2.6.3-0ubuntu5) ...
Setting up mongodb-server (1:2.6.3-0ubuntu5) ...
Adding system user `mongodb' (UID 101) ...
Adding new user `mongodb' (UID 101) with group `nogroup' ...
Not creating home directory `/var/lib/mongodb'.
Adding group `mongodb' (GID 105) ...
Done.
Adding user `mongodb' to group `mongodb' ...
Adding user mongodb to group mongodb
Done.
start: Job failed to start
invoke-rc.d: initscript mongodb, action "start" failed.
dpkg: error processing package mongodb-server (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mongodb:
mongodb depends on mongodb-server (>= 1:2.4.1-2); however:
Package mongodb-server is not configured yet.
dpkg: error processing package mongodb (--configure):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.19-10ubuntu2.3) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
mongodb-server
mongodb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Using a 14.04 container and the 10gen repo results in the same error:
start: Job failed to start
invoke-rc.d: initscript mongod, action "start" failed.
dpkg: error processing package mongodb-org-server (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up mongodb-org-mongos (3.0.0) ...
Setting up mongodb-org-tools (3.0.0) ...
dpkg: dependency problems prevent configuration of mongodb-org:
mongodb-org depends on mongodb-org-server; however:
Package mongodb-org-server is not configured yet.
Some searches suggest that the issue may be caused by insufficient disk space, but more than 15G is available, according to df -h
on the host.
Running mongod
as a command tells me that it's looking for a /data/db path. Creating it will allow me to run mongod
, but running service mongodb start
return start: Job failed to start
.
I've tried on several different virtual and physical hosts, always the same error.
Best Answer
I bumped into similar issue a while ago in lxc with Ubuntu 14.04 as guest OS. I did some digging and it turned out that the
limit nofile ...
directive in mongodb upstart job somehow causeddpkg --configure
call on mongodb-server package to exit with failure during mongodb post-installation process. Commenting the line allows the installation process to continue and complete successfully.