Docker Community Forums

Share and learn in the Docker community.

Docker Beta for Mac - MongoDB: Insufficient free space for journal files

beta
docker

(Michael Watts) #1

Just starting testing out the Docker Beta for Mac v1.11.2-beta15 on OS X 10.11.5. I’m running into the following problem when trying to run MongoDB with volume binding:

$ docker run -v /opt/docker/mongo/data:/data/db mongo:2.6
mongod --help for help and startup options
2016-06-13T21:01:20.941+0000 [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=2ad1a2bd8839
2016-06-13T21:01:20.942+0000 [initandlisten] db version v2.6.12
2016-06-13T21:01:20.942+0000 [initandlisten] git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a
2016-06-13T21:01:20.942+0000 [initandlisten] build info: Linux build5.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2016-06-13T21:01:20.942+0000 [initandlisten] allocator: tcmalloc
2016-06-13T21:01:20.942+0000 [initandlisten] options: {}
2016-06-13T21:01:20.942+0000 [initandlisten] journal dir=/data/db/journal
2016-06-13T21:01:20.942+0000 [initandlisten] recover : no journal files present, no recovery needed
2016-06-13T21:01:20.942+0000 [initandlisten]
************************
2016-06-13T21:01:20.943+0000 [initandlisten] ERROR: Insufficient free space for journal files
2016-06-13T21:01:20.943+0000 [initandlisten] Please make at least 3379MB available in /data/db/journal or use --smallfiles
************************
2016-06-13T21:01:20.943+0000 [initandlisten]
2016-06-13T21:01:20.943+0000 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2016-06-13T21:01:20.943+0000 [initandlisten] dbexit:
2016-06-13T21:01:20.943+0000 [initandlisten] shutdown: going to close listening sockets...
2016-06-13T21:01:20.943+0000 [initandlisten] shutdown: going to flush diaglog...
2016-06-13T21:01:20.943+0000 [initandlisten] shutdown: going to close sockets...
2016-06-13T21:01:20.944+0000 [initandlisten] shutdown: waiting for fs preallocator...
2016-06-13T21:01:20.944+0000 [initandlisten] shutdown: lock for final commit...
2016-06-13T21:01:20.944+0000 [initandlisten] shutdown: final commit...
2016-06-13T21:01:20.944+0000 [initandlisten] shutdown: closing all files...
2016-06-13T21:01:20.944+0000 [initandlisten] closeAllFiles() finished
2016-06-13T21:01:20.944+0000 [initandlisten] journalCleanup...
2016-06-13T21:01:20.944+0000 [initandlisten] removeJournalFiles
2016-06-13T21:01:20.944+0000 [initandlisten] shutdown: removing fs lock...
2016-06-13T21:01:20.945+0000 [initandlisten] dbexit: really exiting now

Just to verify, I have more than 3379MB available in /data/db:

$ df -h
Filesystem      Size   Used  Avail Capacity  iused    ifree %iused  Mounted on
/dev/disk1     233Gi  149Gi   83Gi    65% 39248150 21739369   64%   /

Also, it works fine without volume binding:

$ docker run mongo:2.6
mongod --help for help and startup options
2016-06-13T21:00:18.331+0000 [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=c020905f4933
2016-06-13T21:00:18.331+0000 [initandlisten] db version v2.6.12
2016-06-13T21:00:18.331+0000 [initandlisten] git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a
2016-06-13T21:00:18.331+0000 [initandlisten] build info: Linux build5.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2016-06-13T21:00:18.331+0000 [initandlisten] allocator: tcmalloc
2016-06-13T21:00:18.332+0000 [initandlisten] options: {}
2016-06-13T21:00:18.334+0000 [initandlisten] journal dir=/data/db/journal
2016-06-13T21:00:18.335+0000 [initandlisten] recover : no journal files present, no recovery needed
2016-06-13T21:00:18.451+0000 [initandlisten] allocating new ns file /data/db/local.ns, filling with zeroes...
2016-06-13T21:00:18.624+0000 [FileAllocator] allocating new datafile /data/db/local.0, filling with zeroes...
2016-06-13T21:00:18.624+0000 [FileAllocator] creating directory /data/db/_tmp
2016-06-13T21:00:18.628+0000 [FileAllocator] done allocating datafile /data/db/local.0, size: 64MB,  took 0.001 secs
2016-06-13T21:00:18.629+0000 [initandlisten] build index on: local.startup_log properties: { v: 1, key: { _id: 1 }, name: "_id_", ns: "local.startup_log" }
2016-06-13T21:00:18.629+0000 [initandlisten] 	 added index to empty collection
2016-06-13T21:00:18.630+0000 [initandlisten] command local.$cmd command: create { create: "startup_log", size: 10485760, capped: true } ntoreturn:1 keyUpdates:0 numYields:0  reslen:37 178ms
2016-06-13T21:00:18.632+0000 [initandlisten] waiting for connections on port 27017

(Michael Watts) #2

It appears this is due to Docker for Mac beta does not handle symlinks when mounting volumes

The following works as expected:

docker run -v /Mac/opt/docker/mongo/data:/data/db mongo:2.6