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.