mongodb를 docker에 배포하면 데이터 파일이 mac(내 로컬 컴퓨터)에 유지됩니다. 테스트 결과 데이터 파일 디렉터리가 docker에 있으면 문제가 없는 것으로 나타났습니다. docker -v 명령을 통해 마운트됩니다. 다가오는 폴더에 다음 오류가 나타납니다.
docker 시작 명령:
으아아아root@aba9b0873a23:/# mongod --dbpath=/data/db
2017-01-05T08:40:32.211 0000 I CONTROL [initandlisten] MongoDB 시작 : pid=15 port=27017 dbpath=/data /db 64비트 host=aba9b0873a23
2017-01-05T08:40:32.211 0000 I CONTROL [initandlisten] db 버전 v3.4.1
2017-01-05T08:40:32.211 0000 I CONTROL [initandlisten] git 버전: 5e103c4f5583e2566a45d740225dc250baacfbd7
2017-01-05T08:40:32.211 0000 I Control [initandlisten] OpenSSL 버전: OpenSSL 1.0.2g 3월 1일 2016
2017-01-05T08:40:32.211 0000 I CONTROL [initandlisten] 할당자: tcmalloc
2017-01-05T08:40:32.211 0000 I CONTROL [initandlisten] 모듈: 없음
2017-01-05T08:40:32.211 0000 나는 [initandlisten] 빌드 환경을 제어합니다:
2017-01-05T08:40:32.211 0000 나는 [initandlisten]을 제어합니다 distmod: ubuntu1404
2017-01-05T08:40:32.211 0000 나는 [initandlisten]을 제어합니다 distarch: x86_64
2017-01-05T08:40:32.211 0000 I는 [initandlisten] target_arch를 제어합니다: x86_64
2017-01-05T08:40:32.211 0000 [initandlisten] 옵션을 제어합니다: { Storage: { dbPath: "/data/db" } }
2017-01-05T08:40:32.218 0000 I 스토리지 [초기화 및 청취] wiredtiger_open 구성: create,cache_size=489M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal, 압축기=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-01-05T08:40:32.229 0000 E STORAGE [initandlisten] WiredTiger 오류(22) 1483605632:229032, 연결: /data/db/: 디렉토리-동기화: fdatasync: 잘못된 인수
2017-01-05T08:40:32.230 0000 I - [initandlisten] 치명적 어설션 28561 src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 264
2017-01-05T08:40:32.230 0000 I - [초기화 및 듣기]
*fassert() 실패 후 중단
내 로컬 컴퓨터: mac, docker 시스템: ubuntu@14.04
怪我咯2017-05-02 09:26:13
MacBook에서 Docker를 직접 실행하고 있나요? Volume에 대한 공식 문서에는 다음과 같이 나와 있습니다.
파일 공유
Mac에서 컨테이너와 공유할 디렉토리를 결정할 수 있습니다.
디렉토리 추가 - +를 클릭하고 추가하려는 디렉토리로 이동하세요.
적용 및 다시 시작을 클릭하면 Docker의 바인드 마운트(-v) 기능을 사용하여 컨테이너에서 디렉터리를 사용할 수 있습니다.
볼륨을 사용하려면 먼저 Docker를 구성해야 한다는 뜻입니다
참조:
Mac용 Docker 시작하기