Como usuario de Mac, Docker viene como boot2docker. No me gusta el uso de esa interfaz, prefiero tener una sencilla VM de Ubuntu en mi entorno Vagrant donde puedo manejar mis contenedores con Docker preinstalado. Me gusta esta solución porque me permite estar al día con Vagrant, que es más útil para diversos entornos y proveedores: VirtualBox, VMware, Docker y Hyper-V. Elegí Jenkins para este ejemplo:
Al final de la línea tengo un contenedor Jenkins activo y publicando en el puerto 8080. Para poder verlo desde mi navegador Mac necesito reenviar los puertos del Vagrantfile
(8080 a 80) y luego Nginx (80 a 8080):
http://localhost:8080
» ubuntu:80
» jenkins:8080
Configuración Vagrantfile Link to heading
config.vm.network "forwarded_port", host: 8080, guest: 80, auto_correct: true
Ubuntu Link to heading
apt-get -y install docker nginx
docker rm jenkins1
docker run -d -p 8080:8080 --name=jenkins1 jenkins
docker inspect jenkins1 | grep IPAddress
"IPAddress": "172.17.0.1",
Configuración de Nginx en Ubuntu Link to heading
wget https://gist.githubusercontent.com/carlessanagustin/f34db6dc45e376029682/raw/0622f8f375d4ba68e49350dc941198345c52bbe6/nginx-reverse-proxy.conf
(Cambiar la IP en nginx-reverse-proxy.conf)
cp nginx-reverse-proxy.conf /etc/nginx/sites-enabled/jenkins
service nginx restart