Este artículo se basa en la documentación oficial en inglés que se encuentra en el siguiente enlace, y en el siguiente tutorial.
Los artículos anteriores sobre docker son:
- Instalar Docker en Debian Jessie
- Uso de Docker en Debian Jessie (parte 1)
- Uso de Docker en Debian Jessie (parte 2)
- Crear una imagen Docker a partir de un archivo Dockerfile
- Iniciando Django usando Docker
- Instalar Gitlab por medio de Docker
- Ejecutando microservicios con docker usando docker-compose
- Docker en Docker (DinD)
- Iniciando Django con docker usando docker-compose con postgresql como microservicio.
- Importar un contenedor Docker en Python.
- Compartir imagenes Docker por medio de archivos tar.
- Crear un registro de imagenes Docker privado.
- Usar Anaconda desde un contenedor Docker.
- Crear un entorno de Integración y Despligue continue con Docker para node.js.
- Usar Jupyter Notebook desde un contenedor Docker.
- Ejecutar una prueba de doctest con un contenedor Docker.
- Ejecutar una prueba de unittest en Python con un contenedor Docker.
- Montar una Plataforma como servicio (PaaS) con Dokku (docker).
Para probar el uso de docker-machine, se tiene una máquina virtual con IP 192.168.1.102 donde se tiene unas imagenes de docker, y un equipo donde se instalará el docker-machine (qué será mí equipo local).
En el equipo se instalará docker-machine de la siguiente manera:
#curl -L https://github.com/docker/machine/releases/download/v0.4.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
#chmod a+x /usr/local/bin/docker-machine
Para probar que funciona se ejecuta la versión de docker-machine:
#docker-machine -v
docker-machine version 0.4.0 (9d0dc7a)
Crear un docker-machine en virtualbox:
$ docker-machine create --driver virtualbox test
En este caso se crea un contenedor docker que se conecta a virtualbox llamado test.
A continuación se muestra la salida del comandoanterior:
Como lo muestra la imagen, se crea el docker test, se baja una imagen iso llamada boot2docker.$ docker-machine create --driver virtualbox test
En este caso se crea un contenedor docker que se conecta a virtualbox llamado test.
A continuación se muestra la salida del comandoanterior:
En la siguiente imagen se muestra a virtualbox con la máquina virtual test:
Al acceder a la máquina virtual desde virtualbox se tiene lo siguiente:
Para ver como se conecta a la máquina se ejecuta el siguiente comando:
$docker-machine env test
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/home/ernesto/.docker/machine/machines/test"
export DOCKER_MACHINE_NAME="test"
## Run this command to configure your shell:
## eval "$(docker-machine env test)"
Para configurar el shell se ejecuta el siguiente comando:
eval "$(docker-machine env test)"
Para listar las máquinas se ejecuta el siguiente comando:
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
test * virtualbox Running tcp://192.168.99.100:2376
Para ver la IP que está usando test se ejecuta:
$ docker-machine ip test
192.168.99.100
Correr un servidor nginx en el puerto 8000 en un contenedor:
docker run -d -p 8000:80 nginx
Para ver el servidor se ejecuta el siguiente comando:
curl $(docker-machine ip test):8000
Y el resultado es:
Para terminar se detiene el docker-machine y se elimina:
$docker-machine stop test
$ernesto@jewel:~$ docker-machine rm test
Successfully removed test
No hay comentarios:
Publicar un comentario