Empezar con Docker sin unas serie pautas puede convertirse en un dolor de cabeza, por eso hoy traigo una guía definitiva (me vine arriba) de conceptos y comandos básicos para comenzar a usarlo sin morir en el intento.
En la anterior entrada les recomendaba docker-compose por su sencillez y estructura tan visual, pero este consejo iba destinado a aquellas personas que ya controlan Docker.
Lo básico
Sería lógico comenzar por una explicación de qué es y para qué sirve. Docker es un gestor de contenedores. ¿Contenedores? Si "pequeños" encapsulamientos que traen consigo grupos de funcionalidades. Para partir de una base, se suele comparar vulgarmente con pequeñas máquinas virtuales precocinadas.
Una maquina virtual, parte de un sistema operativo, un programa virtualizador y un sistema operativo virtualizado. Esto, obviamente, consume muchos recursos del anfitrión. Docker no virtualiza todo un sistema operativo, usa las librerías del anfitrión. Aquí dejo una gráfica para que se entienda mejor y dejamos a un lado la explicación.
Estos son los comandos de instalación de Docker:
Los siguientes comandos muestran los tres principales recursos de docker antes mencionados. Todos esos recursos pueden estar referenciados por un ID o un nombre (si se le asignó previamente).:
Estos otros sirven para ver el estado de los contenedores encendidos, apagados y todos:
Crea un contenedor con Ubuntu ultima version
Para finalizar, os dejo dos últimos comandos. Para entrar dentro de un contenedor y para ejecutar comandos desde fuera del contenedor:
En la anterior entrada les recomendaba docker-compose por su sencillez y estructura tan visual, pero este consejo iba destinado a aquellas personas que ya controlan Docker.
Lo básico
Sería lógico comenzar por una explicación de qué es y para qué sirve. Docker es un gestor de contenedores. ¿Contenedores? Si "pequeños" encapsulamientos que traen consigo grupos de funcionalidades. Para partir de una base, se suele comparar vulgarmente con pequeñas máquinas virtuales precocinadas.
Una maquina virtual, parte de un sistema operativo, un programa virtualizador y un sistema operativo virtualizado. Esto, obviamente, consume muchos recursos del anfitrión. Docker no virtualiza todo un sistema operativo, usa las librerías del anfitrión. Aquí dejo una gráfica para que se entienda mejor y dejamos a un lado la explicación.
Conceptos
- Contenedor: Es la instancia en ejecución de una imagen docker
- Imagen: Es una especie de plantilla para levantar un contenedor de docker. Cuando vas a levantar un contenedor, Docker busca la imagen en el anfitrión, si no está, la intenta descargar de DockerHub automaticamente.
- Volumen: Define una unidad de almacenamiento "virtual" (puede compartirse entre contenedores)
- Docker-Compose: Nos ofrece la posibilidad de formar una plantilla/receta a partir de una o varias imágenes ya creadas, pudiendo levantar varios contenedores intercomunicados.
- DockerHub: Repositorio de imágenes precocinadas oficiales y no oficiales.
- Dockerfile: Receta para crear tus propias imágenes personalizadas y posteriormente usarlas o subirlas a DockerHub.
Estos son los comandos de instalación de Docker:
sudo apt install curlComandos de uso
curl -fsSL get.docker.com -o get-docker.sh
sudo chmod +x get-docker.sh
sh get-docker.sh
Los siguientes comandos muestran los tres principales recursos de docker antes mencionados. Todos esos recursos pueden estar referenciados por un ID o un nombre (si se le asignó previamente).:
docker images listAl igual que listamos con "list" (o "ls") podemos borrar con "rm". El resto dejo que lo investigues tu con la guia (docker image/volume/container ?). Hay que controlar bien esos tres comandos para no volverte loco creando decenas de contenedores/volúmenes.
docker container list
docker volume list
Estos otros sirven para ver el estado de los contenedores encendidos, apagados y todos:
docker psA continuación comandos para encender o apagar contenedores anteriormente creados:
docker ps -f status=exited
docker ps -a
docker start [nombre/ID]Vamos con algunos ejemplos de comandos simples para levantar contenedores:
docker stop [nombre/ID]
Crea un contenedor con Ubuntu ultima version
docker run ubuntu:latestCrea un contenedor interactivo con Apache HTTP Server
docker run -it httpdCrea un contenedor con MySQL y redirección del puerto 3306 al 3306
docker run mysql -p 3306:3306Crear un contenedor Wordpress con el nombre wp-tienda y puerto 80
docker run --name wp-tienda -p 80:80 wordpressUna vez tenemos levantados los contenedores, si ejecutamos "docker ps -a" comprobaremos que están en estado "Exited". Tenemos que iniciarlos con el comando "docker container [nombre/ID] start". De esta forma, ya estarán listos para su uso.
Para finalizar, os dejo dos últimos comandos. Para entrar dentro de un contenedor y para ejecutar comandos desde fuera del contenedor:
docker exec -i -t [nombre/ID] /bin/bashY esto a sido todo, cualquier duda la dejáis en los comentarios y tratare de resolverla.
docker exec [nombre/ID] df -h

0 comentarios:
Publicar un comentario