À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 startDev
ou se houver várias instâncias ao mesmo tempo startDev 3
ou 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 🙂