GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

20 ejemplos útiles de comandos Docker en Linux

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


Docker
  1. 7 ejemplos de comandos Linux df

  2. 8 ejemplos de comandos TR de Linux

  3. Ejemplos de comandos rm en Linux

  4. Ejemplos de comandos ps en Linux

  5. w Ejemplos de comandos en Linux

9 ejemplos útiles de comandos táctiles en Linux

Comando pwd en Linux con ejemplos útiles

Comando SS en Linux con ejemplos útiles

11 ejemplos útiles de comandos de fecha de Linux

12 ejemplos útiles de comandos de fecha de Linux

Ejemplos de comandos id en Linux