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

  • How do I setup a docker image to dynamically pull app code from a repository?
  • Dockerfile: create ENV variable that a USER can see?
  • Copy multiple directories with one command
  • Execute “docker run” against created docker swarm cluster
  • pip install letencrypt, hwo do I know which packages are needed?
  • why is the status Exited (-1) when docker stop some container
  • 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"
    

  • Docker 1.13 DNS A-Record Lookup works with services but not with stack deploy
  • How to correctly deploy docker container to aws?
  • Error in docker-compose build. version issue
  • Can't overwrite file in docker compose
  • Use Docker, Gunicorn, Nginx in django development environment but can only see nginx welcome page?
  • Unable to Install PHP Zip Module via Docker Build
  • 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.