Inicie o servidor de desenvolvimento rápido com docker

Às vezes preciso iniciar um servidor web no diretório atual. Eu uso o Docker e tenho uma imagem especial do docker para ele. Acabei de colocar este snippet em meu .zshrc:

startDev() {
if [[ -n $1 ]]
then
NUM
=$1
else
NUM
=1
fi
echo
' >>> to get the port from host: dockerport dev-static-'$NUM' 80'
docker run

--rm -t -i -p 80
--name dev-static-$NUM
-v `pwd`:/var/www
yitsushi
/nginx-static-and-php
start

}

Agora, quando quero um servidor web, só preciso digitar startDevou se houver várias instâncias ao mesmo tempo startDev 3ou startDev 8. Ele usa minha imagem docker yitsushi / nginx-static-and-php do hub do docker. Ele tem um Nginx, PHP-FPM e GD (talvez ele seja expandido mais lib PHP) .

(clockwork) Ξ ~  cd Development/Experiment
(clockwork) Ξ Development/Experiment startDev
>>> Start with "start" in container
>>> to get the port from host: dockerport dev-static-1 80
>>> Container ID: f89d0ff09040
* Restarting PHP5 FastCGI Process Manager php5-fpm [ OK ]

Em outro terminal, recebo a porta com dockerport porque estou no mac e preciso deste hack por causa do boot2docker:

(clockwork) Ξ ~  dockerport dev-static-1 80
192.168.59.103:49171

ou simplesmente:

 open http://`dockerport dev-static-1 80`

Eu também tenho um alias para isso 🙂