El contenedor Docker es una de las tecnologías más emergentes en la actualidad. Los contenedores Docker se utilizan generalmente en la plataforma CI/CD (Integración continua/Despliegue continuo). Los contenedores son las VM (máquinas virtuales) livianas que utilizan recursos de hipervisores subyacentes como (RAM, CPU, HDD y Kernel).
El comando Docker se usa para administrar contenedores e imágenes desde la línea de comandos. En este artículo cubriremos 20 ejemplos útiles de comandos docker en Linux. Supongo que docker ya está instalado en su sistema Linux y su usuario habitual se agrega al grupo docker.
1) Verificar la versión de Docker
La primera tarea importante mientras se trabaja en los contenedores de la ventana acoplable es conocer la versión de la ventana acoplable, ejecutar debajo del comando de la ventana acoplable para conocer la versión
$ docker --version Docker version 20.10.12, build e91ed57 $
2) Ver información de todo el sistema
El comando 'docker info' se usa para ver la información de todo el sistema, como el directorio raíz de Docker, la versión del sistema operativo, la versión del kernel, la versión de Docker, la RAM, la CPU y el registro de Docker.
$ docker info
3) Buscar imágenes de Docker
Usando el comando "búsqueda de la ventana acoplable", podemos buscar las imágenes del contenedor de la ventana acoplable desde el registro del concentrador de la ventana acoplable. Supongamos que quiero buscar las últimas imágenes de la ventana acoplable nginx.
$ docker search nginx
La salida del comando anterior se vería a continuación,
4) Descargar imágenes del contenedor Docker
El comando de extracción de Docker se utiliza para descargar imágenes de contenedores desde el registro del hub de Docker.
Sintaxis :
$ docker pull
El comando de extracción de Docker siempre intenta descargar la última versión de la imagen, aunque podemos especificar la versión particular de la imagen. Supongamos que quiero descargar la última versión de la imagen rsyslog
$ docker pull nginx Using default tag: latest latest: Pulling from library/nginx 5eb5b503b376: Pull complete 1ae07ab881bd: Pull complete 78091884b7be: Pull complete 091c283c6a66: Pull complete 55de5851019b: Pull complete b559bad762be: Pull complete Digest: sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest $
Descargando una imagen específica basada en la versión, supongamos que queremos descargar Ubuntu:20:04 imagen acoplable, ejecutar
$ docker pull ubuntu:20.04 20.04: Pulling from library/ubuntu 08c01a0ec47e: Pull complete Digest: sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be Status: Downloaded newer image for ubuntu:20.04 docker.io/library/ubuntu:20.04 $
5) Ver imágenes descargadas del contenedor Docker
Como sabemos, el directorio raíz de la ventana acoplable es '/var/lib/docker', por lo que siempre que descarguemos imágenes usando el comando de extracción de la ventana acoplable, todas las imágenes se guardarán en el directorio raíz de la ventana acoplable.
Para ver todas las imágenes descargadas del contenedor acoplable, ejecute
$ docker image ls or $ docker images
Salida
6) Ejecutar contenedor Docker
Los contenedores se lanzan con el comando 'docker run', supongamos que quiero ejecutar un contenedor desde la imagen nginx.
$ docker run -it -p 9000:80 --name=myapp nginx
salida
Arriba se ejecutará un contenedor con el nombre "myapp" y también establecemos la regla pat de tal manera que si alguna solicitud llega al puerto 9000 en el host docker, esa solicitud se redirigirá al contenedor myapp en el puerto 80. Si te has dado cuenta de que obtenemos directamente la consola justo después de ejecutar el comando. Escriba exit para detener/apagar el contenedor y si desea salir del contenedor sin detenerlo, escriba "ctrl+p+q"
Ahora puede acceder a su aplicación nginx en el puerto 9000 usando el comando curl,
$ curl http://<Docker-Host-IP-Address>:9000/
7) Ejecutar contenedor en modo separado
Podemos ejecutar un contenedor en modo de separación usando la opción -d en el comando 'docker run'. Aquí el modo de separación significa que obtendremos el símbolo del sistema después de ejecutar el comando de ejecución de docker. El ejemplo se muestra a continuación,
$ docker run -it -d -p 9080:80 --name=myapp2 httpd f7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa $
8) Ver todos los contenedores en ejecución
El comando Ejecutar 'docker ps' se usa para ver todos los contenedores en ejecución
$ docker ps
Para ver todo lo que se está ejecutando junto con los contenedores cerrados o detenidos, ejecute
$ docker ps -a
9) Acceso a la consola del contenedor
Para obtener acceso a la consola del contenedor, ejecute el comando 'docker exec'
[email protected]:~$ docker exec -it myapp /bin/bash [email protected]:/#
Para salir de la consola, escriba el comando de salida
10) Iniciar, detener, reiniciar y eliminar contenedores
Al igual que las máquinas virtuales, podemos iniciar, detener y reiniciar contenedores docker.
Use el siguiente comando para detener un contenedor en ejecución
$ docker stop myapp2 myapp2 $
En lugar del nombre del contenedor, también podemos usar la identificación del contenedor
Utilice el siguiente comando para iniciar un contenedor.
$ docker start myapp2 myapp2 $
Use el siguiente comando para reiniciar un contenedor.
$ docker restart myapp2 myapp2 $
Al igual que el proceso, también podemos eliminar un contenedor. Use el siguiente comando para eliminar un contenedor.
[email protected]:~$ docker kill myapp2 myapp2 [email protected]:~$
11) Eliminar un Contenedor
Docker Container se elimina o elimina con el comando 'docker rm'. 'docker rm' funcionará solo cuando la ventana acoplable esté detenida/apagada.
Sintaxis:
$ ventana acoplable rm {container_name_OR_container_id}
$ docker stop test-app test-app $ docker rm test-app test-app $
Para eliminar un contenedor en ejecución a la fuerza, use la opción '-f' en el comando docker rm. El ejemplo se muestra a continuación
$ docker rm -f nginx-app
12) Eliminar imágenes de contenedores de Docker
Al igual que los contenedores, también podemos eliminar o eliminar imágenes de la ventana acoplable. El comando 'docker rmi' se usa para eliminar las imágenes del contenedor docker.
Supongamos que queremos eliminar una imagen acoplable 'Ubuntu:20.04', ejecutar
$ docker rmi ubuntu:20.04 Untagged: ubuntu:20.04 Untagged: [email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474be Deleted: sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704f Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f629593310578d2 $
En el comando anterior, podemos usar la identificación de la imagen en lugar del nombre de la imagen
$ docker rmi 54c9d81cbb44
13) Guardar y cargar la imagen del contenedor Docker
Para guardar una imagen acoplable en un archivo tar, use el comando 'docker save', el ejemplo se muestra a continuación:
$ docker save nginx -o mynginx.tar $ ls -l mynginx.tar -rw------- 1 sysops sysops 145931776 Feb 5 10:30 mynginx.tar $
Para cargar una imagen acoplable desde un archivo tar, use el comando 'docker load'
$ docker load -i mynginx.tar Loaded image: nginx:latest $
Nota:estos comandos se vuelven útiles cuando queremos transferir la imagen de Docker de un Docker Host a otro.
14) Copiar archivos/carpetas al Contenedor
Podemos copiar archivos o carpetas a un contenedor desde el host docker usando el comando 'docker cp'. A continuación, estamos copiando la carpeta 'mycode' al contenedor myapp
$ docker cp mycode myapp:/tmp
15) Ver el historial de una imagen de Docker
El historial de la imagen de Docker aquí significa qué comandos se están ejecutando mientras se crean imágenes de Docker, podemos ver estos comandos usando 'historial de Docker'
Sintaxis:#
$ historial de la ventana acoplable {Image_Name_OR_Image_id}
$ docker history nginx
16) Ver registros desde el contenedor
Podemos ver los registros de los contenedores sin iniciar sesión, ejecutar el comando 'docker logs'
Sintaxis :
$ docker registra {container_name_or_container_id}
$ docker logs myapp
Para ver los registros en vivo, use la opción '-f' en el comando de registros de la ventana acoplable
$ docker logs -f myapp
Para ver los últimos 10 registros de un contenedor, ejecute
$ docker logs --tail 10 myapp
17) Mostrar estadísticas de uso de recursos de contenedores
Para mostrar el uso de E/S de CPU, memoria y red de todos los contenedores, ejecute el comando 'docker stats'
$ docker stats
El comando anterior mostrará la transmisión en vivo de las estadísticas de uso de recursos de todos los contenedores.
Para ver las estadísticas de un contenedor específico, ejecute las estadísticas de la ventana acoplable seguidas del contenedor
$ docker stats myapp
Estadísticas de uso de recursos sin transmisión en vivo
$ docker stats --no-stream
Podemos mostrar los procesos en ejecución de un contenedor con 'docker top ‘ comando.
Sintaxis:#
parte superior de la ventana acoplable {Container_Name_OR_ID}
$ docker top myapp
18) Ver la dirección IP del contenedor
La información de bajo nivel del contenedor se muestra mediante el comando 'docker inspect'. Podemos obtener la dirección IP de un contenedor desde el comando 'docker inspect'
Sintaxis:
$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
Ejemplo
$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp 172.17.0.2 $
19) Crear imagen de contenedor Docker
La imagen del contenedor de Docker se construye usando el comando 'docker build' pero para el comando de compilación de docker primero debemos crear Dockerfile. Supongamos que Dockerfile se crea en la carpeta mycode y luego ejecutamos el siguiente comando para crear la imagen de la ventana acoplable,
$ cd mycode $ docker build -t mynginx:v2 .
Leer también :Cómo crear una imagen de Docker con Dockerfile (paso a paso)
20) Establecer etiqueta en la imagen de Docker
El comando 'docker tag' se usa para establecer una etiqueta en una imagen.
Sintaxis :
$ etiqueta docker source_image{:tag} target_image{:tag}
Supongamos que quiero establecer la etiqueta de la imagen de origen 'mariadb:latest' como 'mariadb:10.03'
$ docker tag mariadb:latest mariadb:10.03 $ docker images | grep -i mariadb mariadb 10.03 45a5a43e143a 3 days ago 410MB mariadb latest 45a5a43e143a 3 days ago 410MB $
Si desea cargar una imagen en su registro privado, etiquete la imagen de tal manera que debería tener una URL de registro seguida del proyecto y la imagen.
$ docker tag mariadb:latest myregistry:5000/db/mariadb:10.03
Ahora inicie sesión en su registro privado usando el comando 'docker login' y ejecute el comando docker push para cargarlo.
$ docker push myregistry:5000/db/mariadb:10.03
Eso es todo de este artículo. Espero que hayas encontrado estos ejemplos informativos. No dude en compartir sus consultas y comentarios en las siguientes secciones de comentarios.
Lea también :Cómo crear y usar una red MacVLAN en Docker