tutz

Comandos más importantes en Docker

En este tutorial vamos a revisar los principales comandos que tenemos en Docker para poder realizar diferentes tareas con los contenedores, como por ejemplo: crear, inspeccionar, renombrar, eliminar y más.

Crear un contenedor

Este es el principal comando que si o si vas a usar, con este comando nosotros podremos crear un nuevo contenedor en Docker.

$ docker run image_name

Si queremos pasarle un nombre al contenedor tenemos que pasarle --name

$ docker run --name container_name image_name

Si queremos entrar al modo interactivo de un contenedor tenemos que agregarle -it

$ docker run -it container_name

Si queremos exponer el puerto del contenedor en tu sistema, puedes hacer uso de -p

$ docker run -p 9000:80 container_name

Lo que estamos logrando aquí es que todo lo expuesto desde el puerto 80 de tu contenedor será posible verlo desde tu navegador ingresando al puerto que le has pasado, por ejemplo http://localhost:9000.

Una buena manera de probar sería usando la imagen de nginx. Podrías probar esto y luego ir a tu navegador e ingresar a http://localhost:9000

$ docker run -d -p 9000:80 nginx

Listar contenedores

Con el comando ps vamos a poder visualizar los contenedores activos que tenemos en nuestro sistema.

$ docker ps

Si queremos visualizar a todos los contenedores podemos agregar -a

$ docker ps -a

Si queremos ver solo los id de los contenedores podemos agrega -aq

$ docker ps -aq

Inspeccionar un contenedor

Para conocer todo sobre un contenedor podemos usar inspect pasandole el id o nombre del contenedor:

$ docker inspect container_name

o

$ docker inspect container_id

Si solo queremos visualizar alguna información particular del contenedor podemos usar -f para filtrar la información que nos devuelve el comando inspect. Por ejemplo si queremos traer la fecha de creación del contenedor podemos usar:

$ docker inspect -f '{{ json .Created }}' container_name

Renombrar un contenedor

Para cambiar el nombre de un contenedor podemos usar el comando rename.

$ docker rename past_name new_name

Logs de un contenedor

$ docker log container_name

Eliminar contenedores

Si deseamos limpiar nuestro sistema, eliminado algunos contenedores podemos usar el comando rm pasandole el nombre del contenedor.

$ docker rm container_name

Si deseamos eliminar todos los contenedores que tenemos, podemos usar el siguiente comando:

$ docker rm $(docker ps -aq)

Persistencia de datos en Docker

¿Que pasa con los datos de un contenedor? Bueno, si eliminas un contenedor la verdad es que se van con el contenedor, pero si deseas poder tener esos datos luego de eliminar el contenedor puedes usar -v para decirle en que parte deseas que se guarde los datos que genera el contenedor.

Por ejemplo, si tenemos un contenedor de MongoDB y queremos que los datos de las bases de datos que creemos se guarden en una carpeta llamada BaseDeDatos, entonces hacemos lo siguiente:

$ docker run -v /RutaDeLaCarpeta/BaseDeDatos:/data/db mongo

Así que primero le pasamos la ruta de nuestra maquina en donde queremos guardar, luego dos puntos (:) y por último la ubicación del contenedor donde están los datos, en el caso de MongoDB se guardan en /data/db.

Con esto si vas a tu carpeta que elegiste vas a ver algunos datos que ya guardo el contenedor que acabas de crear y eso persistirá así llegues a eliminar el contenedor.

Vamos a ir agregando cada vez más y más comando con ejemplos para que puedas conocer de ellos.