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 --configure
mongodb 설치 후 프로세스 중에 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