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:
docker
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 locales». 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:
docker cp --help
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:
docker search apache
También puedes buscar en centro acoplable si prefiere utilizar su navegador web.
Para copiar la imagen que necesita:
docker pull httpd
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 como 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 probablemente le brindará 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:
docker ps
Para ver los contenedores que estan cerrados actualmente:
docker ps -a
Para cerrar el contenedor, escriba docker stop name-of-container
. Por ejemplo:
docker stop http-server
Cuando desee volver a iniciar el contenedor:
docker start http-server
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, necesite 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 cascara en el contenedor:
exit
Cómo eliminar contenedores e imágenes de Docker
Antes de eliminar un contenedor, primero debe detenerlo:
docker stop http-server2
Ahora, puede eliminar el contenedor con:
docker rm http-server2
Pero en realidad son las imágenes las que ocuparon más espacio en disco que los contenedores, por lo general. Puedes eliminarlos con:
docker rmi httpd
Esto no funcionará hasta que detenga y elimine todos los contenedores que dependan 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 mostrare todo sobre docker run
parámetros de comando, 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.
Danos tu opinión