[Cloud Native] Todos los comandos comúnmente utilizados en la gestión de contenedores en Docker

1.proceso de creación del contenedor docker

 

2. La esencia de la operación de contenedores

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
创建容器基本选项:

--name:为容器命名
-i:交互式创建容器
-d:后台创建容器
-t:为容器分配伪终端

El significado de la existencia del contenedor Docker es ejecutar la aplicación en el contenedor y brindar servicios externos, por lo que el propósito de iniciar el contenedor es iniciar y ejecutar la aplicación en el contenedor. Una vez que la aplicación en el contenedor termine de ejecutarse, el contenedor terminará automáticamente. Por lo tanto, si no desea que el contenedor finalice inmediatamente después de iniciarse, debe evitar que la aplicación del contenedor finalice inmediatamente. Por lo general, hay dos formas de hacer que la aplicación esté en estado de interacción con el usuario o en estado de espera.

3. ejecución de la ventana acoplable

Crear y ejecutar un nuevo contenedor a partir de la imagen.

Formato:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Crear una imagen centos7.9

[root@localhost ~]# docker run  -it --name centos7 centos:7.9.2009
[root@4c392a1a06d7 /]# 
#前台退出容器 ctrl+p+q
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND       CREATED          STATUS          PORTS     NAMES
4c392a1a06d7   centos:7.9.2009   "/bin/bash"   11 seconds ago   Up 10 seconds             centos7

La tecla de método abreviado para salir del contenedor en primer plano es ctrl+p+q El contenedor se está ejecutando en segundo plano

4.docker ejecutivo

Ejecutar comandos en un contenedor en ejecución

Formato:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

opciones:

--detach,-d:分离模式:在后台执行命令
--detach-keys:覆盖分离容器的键序列
--env -e:设置环境变量
--env-file:读写一个环境变量文件
--interactive,-i:保持STDIN打开,即使没有连接
--privileged:赋予命令扩展权限
--tty,-t:分配一个伪终端
--user,-u;用户名或UID(格式:< name| UID >[:<group|gid>])
--workdir,-w:容器内的工作目录

Ingrese al contenedor centos7

[root@localhost ~]# docker exec -it -w /tmp  centos7 /bin/bash
[root@4c392a1a06d7 tmp]# pwd
/tmp
adjuntar ventana acoplable

Adjunte flujos de error, salida y entrada estándar local a un contenedor en ejecución

Formato:

docker attach [OPTIONS] CONTAINER
¿Cuál es la diferencia entre Docker Exec y Docker Attach?
  • doke exec creará un nuevo proceso para acceder al proceso del contenedor, generalmente se usa junto con la opción -it, generalmente usa el comando exit para salir de i y finalizar el proceso actual

  • Docker Attach no creará un nuevo proceso, sino que ingresará al proceso original del contenedor. Puede usar exit o ctrl+p+q para salir del contenedor según la situación.

5. ventana acoplable ps

contenedor de lista

Formato:

docker ps [OPTIONS]

opciones:

-a, -all: muestra todos los contenedores (el valor predeterminado muestra en ejecución)
-f: filtrar la salida según los criterios proporcionados
--latest, -l: muestra el último contenedor creado (incluidos todos los estados)
--no-trunc: No truncar la salida
--quiet, -q: solo muestra la identificación del contenedor
--size, -s: muestra el tamaño total del archivo

Nota: docker ps no admite la transferencia de copias de archivos entre contenedores

6. ventana acoplable superior

Mostrar el proceso en ejecución del contenedor.

Formato:

docker top CONTAINER [ps OPTIONS]

7. Gestión de contenedores docker

puesta en marcha
docker start [OPTIONS] CONTAINER [CONTAINER...]
detener
docker stop [OPTIONS] CONTAINER [CONTAINER...]
#强制停止
docker kill [OPTIONS] CONTAINER [CONTAINER...]
reiniciar
docker restart [OPTIONS] CONTAINER [CONTAINER...]
pausa
docker pause CONTAINER [CONTAINER...]
reanudar
docker unpause CONTAINER [CONTAINER...]

8. registros docker

Obtener registros de contenedores

Formato:

docker logs [OPTIONS] CONTAINER

opciones:

--detalles: muestra detalles adicionales proporcionados por el registro
--seguir, -f: seguir la salida del registro
--since: muestra los registros de la marca de tiempo (por ejemplo, 2013-01-02T13:23:37Z) o registros relativos (por ejemplo, 42 minutos de 42 minutos)
--tail, -n: número de líneas a mostrar desde el final del registro
-t: muestra la marca de tiempo del registro
--hasta: Mostrar registros antes de la marca de tiempo (p. ej., 2013-01-02T13:23:37Z) o relativo (p. ej., 42 min durante 42 minutos)

Ver las primeras 3 líneas del contenido del registro antes de 5 segundos

[root@localhost ~]# docker logs --until 5s -n 3 nginx1
2023/07/12 10:04:58 [notice] 1#1: start worker process 32
2023/07/12 10:04:58 [notice] 1#1: start worker process 33
2023/07/12 10:04:58 [notice] 1#1: start worker process 34

9. ventana acoplable cp

Copie archivos/carpetas entre el contenedor y el sistema de archivos local

Formato:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

opciones:

-a: modo de archivo (copia toda la información de uid/gid)
--quiet, -q: suprime la salida de progreso durante la copia. Suprime automáticamente la salida de progreso si no hay ningún terminal conectado

10. docker rm

quitar uno o más contenedores

Formato:

docker rm [OPTIONS] CONTAINER [CONTAINER...]

opciones:

--force, -f : elimina a la fuerza el contenedor en ejecución (usa SIGKILL)
--link, -l: eliminar el enlace especificado
--volumes, -v: Eliminar volúmenes anónimos asociados con contenedores

11.compromiso de docker

Cree una nueva imagen basada en los cambios del contenedor

Formato:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

opciones:

--autor, -a: autor (por ejemplo, John Hannibal Smith <[email protected]>)
--cambiar, -c: aplicar las instrucciones de Dockerfile en la imagen creada
--mensaje, -m: mensaje de compromiso
--pause, -p : Pausar el contenedor durante la confirmación

Cree un espejo centos7, instale la herramienta net-tools y luego empaquetelo en un espejo

[root@localhost ~]#  docker run -itd --name centos centos:7.9.2009
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
[root@localhost ~]# docker exec -it centos /bin/bash
[root@1d1725c19cbe /]# yum -y install net-tools

para empacar

[root@localhost ~]# docker commit -a '[email protected]' centos centos7:net-tools
sha256:0db0f584d14de19f7b377fa385ea43e7abcb57223f4a51c690c5b1628e882f70
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED         SIZE
centos7           net-tools   0db0f584d14d   6 seconds ago   418MB

Luego, cree un contenedor basado en la imagen actual

12.docker exportar/importar

exportación de la ventana acoplable

Exporte el sistema de archivos del contenedor como un archivo tar

Formato:

docker export [OPTIONS] CONTAINER

opciones:

--salida, -o: escribe en el archivo en lugar de la salida estándar

Empaquetar el contenedor actual

[root@localhost ~]# docker export -o centos.tar centos
[root@localhost ~]# ls
centos.tar  Dockerfile  httpd-2.4.57.tar.gz  image.tar  my.cnf  original-ks.cfg
importación de la ventana acoplable

Importe contenido de un tarball para crear una imagen del sistema de archivos

Formato:

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

opciones:

--cambiar, -c: aplicar las instrucciones de Dockerfile en la imagen creada
--message, -m: Establecer mensaje de confirmación para imágenes importadas
--plataforma: si el servidor admite varias plataformas, configure la plataforma

Restaurar el contenedor recién embalado

[root@localhost ~]# docker import centos.tar centos:test
sha256:6bc2adb97476b7b797a5a129c68afcba4ce05ab487812727c7049003f2a1049e
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED             SIZE
centos            test        6bc2adb97476   4 seconds ago       394MB

13. La diferencia entre la exportación e importación de imágenes acoplables/contenedores

exportar y guardar
  1. export actúa sobre el contenedor y save actúa sobre la imagen, pero los resultados de su exportación son todos archivos tar

  2. export solo puede exportar un contenedor a la vez, y save puede exportar varias imágenes a la vez

  3. export solo exporta la instantánea del sistema de archivos del contenedor actual, que perderá toda la información de metadatos e historial de la imagen original, mientras que save guarda el registro completo de la imagen original.

importar y cargar
  1. importar paquetes de contenedores de importación y cargar paquetes de imágenes, pero al final todos se restaurarán para reflejar imágenes

  2. La imagen restaurada por importación ya contiene la capa de imagen actual y la imagen restaurada por carga es exactamente la misma que la capa de la imagen original.

  3. La imagen restaurada por importación es una imagen recién construida, que es diferente del ID de imagen de la imagen original. La imagen restaurada por carga es la misma imagen que la imagen original, es decir, el ID de imagen es el mismo.

  4. La importación puede especificar <repositorio> y <etiqueta> para la imagen importada, y la imagen cargada por carga no puede especificar <repositorio> y <etiqueta>, que es lo mismo que la imagen original

14. sistema docker

Administrar acopladores

1.docker sistema df

Ver el uso del disco acoplable

Formato:

docker sistema df [OPCIONES]

Ver el uso del disco docker del sistema actual

[root@localhost ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          9         2         1.504GB   1.435GB (95%)
Containers      2         1         213.9MB   213.9MB (100%)
Local Volumes   3         1         6.174MB   1.501MB (24%)
Build Cache     19        0         465.4MB   465.4MB

opciones:

--format: use una plantilla personalizada para formatear la salida: `table`: use
docker system events [OPTIONS]
Los encabezados de columna imprimen la salida en formato de tabla (predeterminado) `plantilla de tabla`: use la plantilla de Go dada para imprimir la salida en formato de tabla `json`: use la plantilla de Go dada para imprimir la salida. Para obtener más información sobre cómo dar formato a la salida mediante plantillas, consulte https://docs.docker.com/go/formatting/
--verbose, -v: muestra información detallada sobre el uso del espacio
2. eventos del sistema docker

Obtenga eventos en tiempo real del servidor

Formato:

docker system events [OPTIONS]

opciones:

--filter, -f : filtrar la salida según los criterios proporcionados
--format : formatea la salida usando la plantilla de Go dada
--since: muestra todos los eventos creados desde la marca de tiempo
--hasta: transmite eventos hasta esta marca de tiempo

abrir dos terminales

Terminal 1

docker system events

Terminal 2

[root@localhost ~]# docker stop test
test

ver la terminal 1

[root@localhost ~]# docker system events
2023-07-15T17:04:37.334836848+08:00 container kill d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley, signal=15)
2023-07-15T17:04:41.428854481+08:00 network disconnect 462ad2de000e7aae527224ae21c66e15aac0e68ed45f96b65528e22e272851fa (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, name=bridge, type=bridge)
2023-07-15T17:04:41.430294298+08:00 volume unmount 0e452a14a460fdc4cfa0b2644761923359a263fe9abeca5fd1952927231ca0a7 (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, driver=local)
2023-07-15T17:04:41.430357838+08:00 container stop d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley)
información del sistema 3.docker

Mostrar información de todo el sistema

Formato:

docker system info [OPTIONS]

Igual que la información de la ventana acoplable

poda del sistema 4.docker

eliminar datos no utilizados

Formato:

docker system prune [OPTIONS]

opciones:

--all, -a: elimina todas las imágenes no utilizadas, no solo las que cuelgan
--filter: proporciona un valor de filtro (por ejemplo, label=<key>=<value>)
--force, -f: No pedir confirmación
--volumes: eliminar volúmenes

Elimine todos los contenedores e imágenes no utilizados con nombres vacíos y etiquetas vacías y redes no utilizadas en el servidor docker actual

[root@localhost ~]# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache
  
traducir:
¡Advertencia! Esto eliminará:
- todos los contenedores detenidos
— todas las redes no utilizadas por al menos un contenedor
- Todas las imágenes colgantes
- Todos los cachés de compilación colgantes
¿Estás seguro de que quieres continuar? [s/n]
Estás seguro de que quieres continuar? [sí/no] sí
Contenedores eliminados:
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290
Redes eliminadas:
mynet1
mac_net1
Objetos de caché de compilación eliminados:
kutjwzwfdu28eldqlwo07uax7
0p5xfeo29k8ojauchfzf97kp0
a9puvqnewb05luw84rnanr2lh
y6mdonbx0pvs2trx7xd97738u
kj09ara8y3v3b6f50xtzie6lv
itk7ujtbdy4c2nirz68e2ivck
2a7d9sfcsnvl9owzau11l0jrq
oe2ukyl2cpguwqjm0kddg5tcx
4fom9yi9x5i125uvb96d29ext
tdwcwf0eze1lrvgherr4sxrs5
9hffla6qush85p7jhf89l56ek
Espacio total recuperado: 679,3 MB
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED         SIZE
centos            test        6bc2adb97476   25 hours ago    394MB
centos7           net-tools   0db0f584d14d   26 hours ago    418MB
busybox           latest      beae173ccac6   18 months ago   1.24MB
nginx             latest      605c77e624dd   18 months ago   141MB
voltest           latest      3af6982c965f   18 months ago   141MB
redis             latest      7614ae9453d1   19 months ago   113MB
mysql             5.7         c20987f18b13   19 months ago   448MB
centos            7.9.2009    eeb6ee3f44bd   22 months ago   204MB
progrium/consul   latest      09ea64205e55   8 years ago     69.4MB
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
462ad2de000e   bridge    bridge    local
c598e7da9321   host      host      local
36391f761fe6   none      null      local

15.docker crear

crear un nuevo contenedor

Es similar a ejecutar, pero la única diferencia es que crear solo crea contenedores y no los ejecuta, pero docker run crea contenedores y los ejecuta.

Formato:

docker create [OPTIONS] IMAGE [COMMAND] [ARG...zz

Supongo que te gusta

Origin blog.csdn.net/weixin_53678904/article/details/132101792
Recomendado
Clasificación