Apache and passenger behave differently on Docker mac vs ubuntu

I’m experiencing some issues with containers running apache2 + passenger phusion + rails app when I deploy them on mac or linux.
I use the same image (based on ubuntu:14.04) pulled from the docker hub and the same run command

docker run -it -p 80:80 -p 443:443 -e RAILS_ENV=development --link pg my-image-name

On OSX 10.10.5, running docker 1.9.1, build a34a1d5 everything works fine.
On my production server ubuntu 14.04.3 LTS, running the same docker version, I get the following error

  • Breakpoints skipped when remote debugging with eclipse PDT and Docker container (docker for mac)
  • How to avoid redundancy and time loss when re-building images during development?
  • Console App or Windows Service in Windows Container?
  • Symlinked Dockerfile for environments
  • Assigning docker container to a recieved from outside port with Python
  • executing mysql script docker
  • AH00035: access to / denied (filesystem path '/home/app/app') because search permissions are missing on a component of the path
    

    Permissions are set with chmod 775 -R /home/app.
    Here is passenger and apache version + configuration

    Server version: Apache/2.4.7 (Ubuntu)
    Server built:   Oct 14 2015 14:20:21
    Phusion Passenger 5.0.22
    <VirtualHost *:80>
        ServerName www.my-app.com
        DocumentRoot /home/app/app/public
        PassengerRuby /usr/bin/ruby
        RailsEnv development
        ErrorLog "/home/app/app/log/apache_error_log"
        CustomLog "/home/app/app/log/apache_access_log" common
        <Directory /home/app/app/public>
           AllowOverride all
           Options -MultiViews +FollowSymLinks +Indexes
           Require all granted
           Order allow,deny
           allow from all
        </Directory>
    </VirtualHost>
    

    Any idea why I’m getting two different behaviours between OS X and Ubuntu running the same container?

    Thanks

  • Kubernetes access labels from containers
  • Different localhost ports causes failed Access-Control-Allow-Origin
  • How to point a Dokku app at the root domain of the dokku server
  • Install ember flora editor in docker
  • Docker on OSX with Certificate Authentication Proxy
  • Coreos security
  • One Solution collect form web for “Apache and passenger behave differently on Docker mac vs ubuntu”

    As commented in issue 16741:

    I think I’ve seen a similar issue, which was related to the aufs driver.

    Fixed by using “devicemapper” instead of “aufs” thanks to this post:
    “Switching Docker from aufs to devicemapper”

    changed /etc/default/docker to enable device mapper:
    (save the images first)

    # Use DOCKER_OPTS to modify the daemon startup options.
    DOCKER_OPTS="--storage-driver=devicemapper"
    

    The OP Alberto Sabaini confirms it works:

    I thought that Ubuntu LTS would be using device mapper as default, but by typing docker info | grep Storage, I get Storage Driver: aufs in both mac and Ubuntu.
    The weird part is that my image spin fine on mac with aufs and on Ubuntu on device mapper.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.