Each edit to the h-m-m script was triggering a full image rebuild, including the slow apt-get and docker-php-ext-install steps.
I figure that the h-m-m script itself is more likely to change than the system installs.
Moving the COPY to after those operations means that each time h-m-m changes, the docker build can use the cache for the slow operations, and just add a new layer for the COPY at the end.
Plus chmod +x h-m-m is unnecessary as h-m-m already has the executable bit set.
Each edit to the h-m-m script was triggering a full image rebuild, including the slow apt-get and docker-php-ext-install steps.
I figure that the h-m-m script itself is more likely to change than the system installs.
Moving the COPY to after those operations means that each time h-m-m changes, the
docker build
can use the cache for the slow operations, and just add a new layer for the COPY at the end.Plus
chmod +x h-m-m
is unnecessary as h-m-m already has the executable bit set.