Download the latest stable release
We are going to handle mounting volumes using d4m-nfs for a nice speed boost. You will need to set the file sharing preferences in Docker for Mac D4M Preferences -> File Sharing to only share /tmp
This is the default file sharing:

Please make sure that /tmp is still shared:

Copy the .env-example to .env and updated the PROJECTS_PATH variable to point to the directory that contains your projects. This should be a relative path from your home directory. eg. /Users/yourusername/projects becomes ../projects.
Apache2:
Copy .docker/httpd/conf/hosts/host.conf.example to .docker/httpd/conf/hosts/yourhostname.conf and update with your specifics.
Nginx:
Copy .docker/nginx/conf/hosts/host.conf.example to .docker/nginx/conf/hosts/yourhostname.conf and update with your specifics.
There are containers for both PHP 5.6 and PHP 7. The docker network ip addresses are aliased as php56 and php7, so to use fast-cgi you would reference the instances as follows:
Apache with PHP 5.6:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://php56:9000"
</FilesMatch>
Apache with PHP 7:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://php7:9000"
</FilesMatch>
Nginx with PHP 5.6:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php56:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
Nginx with PHP 7:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php7:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
Run make up or make start to run ./d4m-nfs/d4m-nfs.sh && docker-compose up -d. This will mount your shared folders as nfs mounts and then run docker-compose in detatched mode. These commands can be run separately if needed.
Run make down or make stop which runs docker-compose down.