Comandos básicos en Docker [Parte 2]

He tardado mucho en hacer esta entrada por varias razones (una de ellas por los putos taringueros), pero más vale tarde que nunca, ¿no? Primero hicimos una Introducción a Docker donde explicamos todo sobre esta herramienta y luego explicamos como instalarlo en Debian. Ahora, el siguiente paso es explicar los comandos básicos para administrar Docker. ¡Al tema!

Docker a medida que fue evolucionando (y sigue en ello) fue añadiendo comandos para facilitarnos ciertas tareas. Por lo que a medida que vayan saliendo versiones nuevas es posible que algunos comandos no funcionen porque es posible que se agrupen ciertas funcionalidades dentro de otros. Pero por lo general esto funcionará si estás usando la siguiente versión de Docker.

docker version

docker info

Este comando nos muestra información acerca de la cantidad de contenedores e imágenes que se encuentran actualmente en nuestra maquina como así también la versión de docker que está ejecutando.

docker images

Este comando nos muestra información acerca de cada una de las imágenes que se encuentran en nuestra maquina (nombre, id, espacio que ocupa, fecha de creación). Al ejecutar este comando podemos observar la siguiente salida:

docker ps

Este comando nos indicará que contenedores están actualmente ejecutándose en nuestra maquina. Este comando nos mostrará la información de todos los contenedores que existen actualmente, en que estado se encuentran así como cuando fueron apagados. Este comando da una salida como la siguiente:

docker pull [imagen]:[version]

Esto nos descargará la imagen con la versión que se ha seleccionado. En caso de no indicar la versión nos descargará la imagen con etiqueta (tag) por defecto. Por ejemplo, si descargamos Debian nos descargará la versión latest. Para saber que imagenes se encuentras disponibles podemos visitar esta web donde encontraremos las imagenes disponibles en el repositorio de Docker https://hub.docker.com. Con la siguiente salida (con ejemplo mencionado anteriormente):

docker search [busqueda]

Este comando nos permite buscar imágenes en el repositorio oficial de Docker. Para no tener que ir buscando en la web, también podemos buscar imágenes desde la Terminal. Aquí un ejemplo de salida:

docker run [imagen]:[version]

Este comando nos permite crear un contenedor a través de una imagen. El comando run permite pasarle una serie de parámetros con los que podemos asignar RAM, CPU, variables de entorno, servidor DNS, etc… Cuando ejecutamos docker con la opción run lo podemos hacer de la siguiente manera:

Llegado a este punto, que hace Docker? Lo siguiente:

Primero comprueba que tenemos la imagen solicitada. Si la tenemos, la utiliza, si no la tenemos la descarga del repositorio Docker Hub. Luego crea un nuevo contenedor y le asigna espacio para el sistema de archivos y monta raíz y le añade una capa de lectura y escritura a la imágen. Una vez esto, crea y asigna una interfaz de red que ermite al contenedor la comunitación con el host local. Detecta y concede una dirección IP disponible desde un grupo de IPs. Y para acabar, ejecuta el comando especificado.

docker rm [imagen]:[version]

Este comando nos permite eliminar una imágen. En caso de no informar la versión/tag procederá a borrar todas las que tengan el mismo nombre sin importar la versión.

docker commit [imagen]:[version]

Aquí se pone interesante esto. Cuando montamos un contenedor con una imagen, podemos configurar dicha imagen y para evitar que estos cambios se pierdan, podemos “guardarlos” haciendo un commit.

docker save [imagen] > [archivo].tar

Si queremos exportar una imagen a otra imagen podremos hacerlo con este comando. Este comando lo que hace es exportar la imagen que indicamos en un archivo tar.

docker load < [archivo].tar

Si antes podíamos exportar, este comando permite hacer lo contrario. Cargar la imagen que se encuentra dentro del fichero tar para luego ser usado en nuestro entorno de Docker.

Y hasta aquí los comandos que yo hasta ahora he visto básicos para tener un control sobre Docker. Aún así, nos queda mucha cosa por aprender y es lo que veremos en las siguientes partes de aquí hacia adelante. Más adelante hablaremos sobre los ficheros llamados “DockFiles”, de datos interesantes sobre Docker, crear imágenes propias y hacer commits y para acabar hablaremos de aplicaciones web para controlar de manera gráfica Docker.

El contenido de esta entrada está bajo licencia Creative Commons

Zagur

Técnico Superior de Administración de Sistemas. Estudiando actualmente Desarrollo de aplicaciones web. #GNU #Linux #CSS #HTML #Python #SoftwareLibre #OpenSource

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Utilizamos cookies propias y de terceros para mejorar nuestros servicios. Si continúa navegando, consideramos que acepta su uso. Doble clic sobre aquí para cerrar.