Ubuntu LXC 컨테이너에 MongoDB를 설치합니다. "invoke-rc.d: initscript mongod, 작업 '시작'이 실패했습니다."로 실패합니다.

Ubuntu LXC 컨테이너에 MongoDB를 설치합니다. "invoke-rc.d: initscript mongod, 작업 '시작'이 실패했습니다."로 실패합니다.

Ubuntu LXC 컨테이너에 mongodb를 설치할 수 없습니다.

Ubuntu 14.10 호스트를 설정하려면 다음 지침을 따르십시오.https://linuxcontainers.org/lxc/getting-started/

lxc-create --version
1.1.0

설명서에 따라 템플릿을 다운로드하여 가상 머신을 생성하고 Ubuntu 14.10 amd64 게스트를 선택했습니다(14.04 amd64에서도 동일한 동작이 발생했지만).

나는 그것에 집착하기 시작했다

lxc-start -n test0 && lxc-attach -n test0

내가 실행 중인 컨테이너 내부

apt-get update && apt-get install mongodb

다음 출력과 함께 설치가 실패합니다.

...
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)

10gen 저장소와 함께 14.04 컨테이너를 사용하면 동일한 오류가 발생합니다.

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.

df -h일부 검색에서는 디스크 공간 부족으로 인해 문제가 발생할 수 있다고 나와 있지만 콘솔에 따르면 여유 공간이 15G가 넘습니다.

명령으로 실행하면 mongod/data/db 경로를 찾고 있음을 알 수 있습니다. 그것을 만들면 실행할 수 있지만 mongod실행하면 service mongodb start반환됩니다 start: Job failed to start.

몇 가지 다른 가상 및 물리적 호스트에서 시도해 보았지만 항상 동일한 오류가 발생했습니다.

답변1

얼마 전 Ubuntu 14.04를 게스트 OS로 사용하는 lxc에서 비슷한 문제가 발생했습니다. 좀 더 조사한 결과 limit nofile ...mongodb upstart 작업의 지침으로 인해 dpkg --configuremongodb 설치 후 프로세스 중에 mongodb-server 패키지에 대한 호출이 실패하고 종료된다는 사실을 알아냈습니다 . 이 줄을 주석 처리하면 설치 프로세스를 계속하고 성공적으로 완료할 수 있습니다.

root@mongodb:~# apt install mongodb
...
Setting up mongodb-server (1:2.4.9-1ubuntu2) ...
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-0ubuntu6.6) ...
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)

root@mongodb:~# sed -i -r 's/^limit nofile/#&/' /etc/init/mongodb.conf 
root@mongodb:~# apt install mongodb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
mongodb is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up mongodb-server (1:2.4.9-1ubuntu2) ...
mongodb start/running, process 3447
Setting up mongodb (1:2.4.9-1ubuntu2) ...

root@mongodb:~# sed -i -r 's/^#limit nofile/limit nofile/' /etc/init/mongodb.conf
root@mongodb:~# initctl restart mongodb
mongodb start/running, process 3480

관련 정보