IBM Bluemix: Not able to mount the MongoDB container “/data/db” on the Bluemix host volume

I am trying to deploy a Mongodb docker container on Bluemix w/ data persistence but always getting the error when the system is trying to mount on the container “/data/db” on the host (Bluemix) volume and the container doesn’t start. For the last 2 days, I have researched and tried multiple options, including one for Postgres on stackoverflow, but still getting the same error. Any help would be greatly appreciated.

Error: $ docker logs f450993a-4cc ;chown: changing ownership of ‘/data/db’: Permission denied

  • Getting wordpress docker to run on local host
  • How to change the 'Registry' value which shows from 'docker info'
  • C source files not allowed when not using cgo or SWIG: sqlite3-binding.c
  • Can we rename an output image from “packer build” command over-riding the image name given in packer.json file during run-time?
  • TravisCI - Is it possible to start docker service and expect mysql to work?
  • Can I control the owner of a bind-mounted volume in a docker image?
  • docker-compose file:

    docker-compose.yml

     mongodb:
      container_name: mymongo
      image: registry.ng.bluemix.net/helpfull/mongo:3.2.10
      volumes:
        - mongodb:/data/db:rw
      ports:
        - "27017"
    

  • How to create a Dockerfile for cassandra (or any database) that includes a schema?
  • Docker cloud repository push: access to the requested resource is not authorized on Fedora 23
  • why ansible always replaces double quotes with single quotes in templates?
  • Docker-compose recommended way to use data containers
  • Docker Compose Volumes doesn't push latest code
  • ffmpeg stream on docker
  • One Solution collect form web for “IBM Bluemix: Not able to mount the MongoDB container “/data/db” on the Bluemix host volume”

    Thank you Israel.Zinc for the nice editing of the question and Alex for your suggestion. After playing little bit more with the script based on the previous post about Redis solution by krsyoung, I was able to make it work in the following way. I am new to Docker/Bluemix so not sure if this is the right solution but it is working fine and I hope it will save time for some other people.

    Docker-compose:

    mongo:
      container_name: hfmongo
      image: registry.ng.bluemix.net/helpfull/hfmongo:3.4.2
      volumes:
        - mongodatabase:/data/db
      ports:
        - "27017"
    

    Dockerfile:

    FROM mongo:3.4
    
    COPY docker-entrypoint-bluemix.sh /
    ENTRYPOINT ["/docker-entrypoint-bluemix.sh"]
    
    EXPOSE 27017
    CMD ["mongod"]
    

    docker-entrypoint-bluemix.sh

    #!/bin/bash
    set -e
    set -x
    
    if [ "${1:0:1}" = '-' ]; then
      set -- mongod "$@"
    fi
    
    if [[ "$1" == mongo* ]] && [ "$(id -u)" = '0' ]; then
        STARTTIME=$(date +%s)
        echo "START: hack for IBM Bluemix"
        chmod 775 "/data/db"
        adduser mongodb root
        echo "END: hack for IBM Bluemix"
        exec gosu mongodb "$BASH_SOURCE" "$@"
    fi
    exec "$@"
    
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.