En un tutorial anterior, le mostramos cómo instalar Docker. En este tutorial exploraremos los comandos de Docker más utilizados.
Cómo obtener más información sobre los comandos de Docker
Abra un emulador de terminal y escriba:
Esto le da una visión general rápida de qué argumentos son aceptados por el docker
mandan y lo que hacen. Desplácese hacia arriba para verlos todos. Puedes observar que docker cp
sería «Copiar archivos/carpetas entre un contenedor y el sistema de archivos local». Pero eso no es suficiente información. Cuando desee obtener más información sobre un subcomando específico, simplemente agregue --help
al final. Ejemplo:
Cómo encontrar y extraer una imagen de Docker
Al principio, las imágenes pueden confundirse con los propios contenedores. Las imágenes son la base desde la que parte un contenedor. Entonces se puede cambiar (el contenedor) de la forma que sea necesaria. Entonces puede tener una imagen como «httpd» y hacer girar los contenedores «sitio web1» y «sitio web2».
Para buscar una imagen, puede usar un comando como:
También puedes buscar en Centro acoplable si prefiere utilizar su navegador web.
Para copiar la imagen que necesita:
Obviamente, reemplazaría «httpd» con el nombre de la imagen que necesita.
Cómo ejecutar y detener un contenedor Docker
Para crear un contenedor a partir de esta imagen y ejecutarlo, escriba:
docker run -d --name=http-server --publish 80:80 httpd
-d
ejecuta el contenedor en segundo plano, separándose de su salida.--name
especifica cómo desea nombrar su contenedor.--publish hostPort:containerPort
publica el puerto en el contenedor en su sistema host. Apache atiende solicitudes en el puerto 80 pero solo dentro del contenedor (aislado). Con el parámetro de comando utilizado anteriormente, las solicitudes al puerto 80 en su sistema host se dirigirán al puerto 80 en el contenedor, lo que esencialmente le brinda una vía para llegar al interior del contenedor. Esto significa que si ahora abre un navegador en el sistema host y escribe «localhost» en la barra de direcciones, se conectará al servidor web que se ejecuta en su contenedor.
Para ver qué contenedores se ejecutan actualmente:
Para ver los contenedores que están cerrados actualmente:
Para cerrar el contenedor, escriba docker stop name-of-container
. Por ejemplo:
Cuando desee volver a iniciar el contenedor:
Y si quieres crear otro contenedor a partir de la imagen de Apache:
docker run -d --name=http-server2 --publish 8080:80 httpd
Observe que esta vez se usó el puerto 8080 en lugar del 80. Eso es para que no entre en conflicto con el otro contenedor. Para acceder a este, debe ingresar localhost:8080
en su navegador web.
Cómo personalizar un contenedor Docker
A menudo, necesitará copiar archivos a su contenedor. Para copiar del sistema host al contenedor, la sintaxis del comando es docker cp /path/to/local/file/or/directory name-of-container:/path/to/container/directory/or/file
.
Por ejemplo:
docker cp /bin/ls http-server:/tmp
Para copiar del contenedor al host, use docker cp name-of-container:/path/to/container/file/or/directory /path/to/local/file/or/directory
.
docker cp http-server:/etc /tmp
A veces, también tendrá que «entrar» en los contenedores abriendo un caparazón dentro de ellos. De esta manera, puede editar archivos, instalar binarios adicionales y personalizarlos según sus necesidades.
docker exec -it http-server /bin/bash
Ahora, podría, por ejemplo, editar «index.html» y crear una página de inicio para el sitio web que contiene.
Para salir de la cáscara en el contenedor:
Cómo eliminar contenedores e imágenes de Docker
Antes de eliminar un contenedor, primero debe detenerlo:
Ahora, puede eliminar el contenedor con:
Pero en realidad son las imágenes las que ocupan más espacio en disco que los contenedores, por lo general. Puedes eliminarlos con:
Esto no funcionará hasta que detenga y elimine todos los contenedores que dependen de esa imagen.
Conclusión
Docker se ha convertido en un proyecto bastante complejo. Pero puede profundizar lentamente en cada comando consultando las páginas del manual. Por ejemplo: man docker run
te mostrará todo sobre docker run
parámetros de comando, como cómo establecer una dirección IP preferida para cada contenedor o cómo limitar el uso de la memoria. Lento pero seguro, puede dominar cada comando de Docker leyendo las páginas del manual.