estibador

Para enumerar los comandos disponibles, ejecute docker sin parámetros o ejecutar docker help:

$ docker
Usage: docker [OPTIONS] COMMAND [ARG...]
       docker [ --help | -v | --version ]

A self-sufficient runtime for containers.

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
      --help               Print usage
  -H, --host value         Daemon socket(s) to connect to (default [])
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Commands:
    attach    Attach to a running container
    # […]

Descripción

Dependiendo de la configuración de su sistema Docker, es posible que deba introducir cada docker comando con sudo. Para evitar tener que usar sudo con el docker comando, el administrador del sistema puede crear un grupo Unix llamado docker y agregarle usuarios.

Para obtener más información sobre la instalación de Docker o sudo configuración, consulte la instalación instrucciones para su sistema operativo.

Variables de entorno

Para facilitar la consulta, la siguiente lista de variables de entorno son compatibles con el docker línea de comando:

  • DOCKER_API_VERSION La versión de API que se utilizará (p. Ej. 1.19)
  • DOCKER_CONFIG La ubicación de los archivos de configuración de su cliente.
  • DOCKER_CERT_PATH La ubicación de sus claves de autenticación.
  • DOCKER_CLI_EXPERIMENTAL Habilite funciones experimentales para la cli (p. Ej. enabled o disabled)
  • DOCKER_DRIVER El controlador de gráficos que se utilizará.
  • DOCKER_HOST Zócalo de demonio al que conectarse.
  • DOCKER_NOWARN_KERNEL_VERSION Evite las advertencias de que su kernel de Linux no es adecuado para Docker.
  • DOCKER_RAMDISK Si se establece, esto deshabilitará ‘pivot_root’.
  • DOCKER_STACK_ORCHESTRATOR Configure el orquestador predeterminado para usar al usar docker stack comandos de gestión.
  • DOCKER_TLS Cuando se establece, Docker usa TLS.
  • DOCKER_TLS_VERIFY Cuando se establece, Docker usa TLS y verifica el control remoto.
  • DOCKER_CONTENT_TRUST Cuando se establece, Docker utiliza un notario para firmar y verificar las imágenes. Equivalente a --disable-content-trust=false para construir, crear, tirar, empujar, ejecutar.
  • DOCKER_CONTENT_TRUST_SERVER La URL del servidor Notario que se utilizará. Este valor predeterminado es la misma URL que el registro.
  • DOCKER_HIDE_LEGACY_COMMANDS Cuando se establece, Docker oculta los comandos de nivel superior “heredados” (como docker rm, y docker pull) en docker help salida, y solo Management commands por tipo de objeto (p. ej., docker container) están impresos. Esto puede convertirse en el predeterminado en una versión futura, momento en el que se elimina esta variable de entorno.
  • DOCKER_TMPDIR Ubicación de los archivos temporales de Docker.
  • DOCKER_CONTEXT Especifique el contexto que se utilizará (anula la var env de DOCKER_HOST y el conjunto de contexto predeterminado con “uso del contexto de la ventana acoplable”)
  • DOCKER_DEFAULT_PLATFORM Especifique la plataforma predeterminada para los comandos que toman el --platform bandera.

Debido a que Docker se desarrolla con Go, también puede usar cualquier variable de entorno utilizada por el tiempo de ejecución de Go. En particular, pueden resultarle útiles:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Estas variables de entorno de Go no distinguen entre mayúsculas y minúsculas. Ver el Ir a la especificación para obtener detalles sobre estas variables.

Archivos de configuración

De forma predeterminada, la línea de comando de Docker almacena sus archivos de configuración en un directorio llamado .docker dentro de tu $HOME directorio. Sin embargo, puede especificar una ubicación diferente a través del DOCKER_CONFIG variable de entorno o la --config opción de línea de comando. Si se especifican ambos, entonces el --config opción anula la DOCKER_CONFIG Variable ambiental. Por ejemplo:

docker --config ~/testconfigs/ ps

Indica a Docker que use los archivos de configuración en su ~/testconfigs/ directorio al ejecutar el ps mando.

Docker administra la mayoría de los archivos en el directorio de configuración y no debe modificarlos. Sin embargo, tu puede modificar los config.json archivo para controlar ciertos aspectos de cómo el docker el comando se comporta.

Actualmente, puede modificar el docker Comportamiento de comandos usando variables de entorno u opciones de línea de comandos. También puede utilizar opciones dentro de config.json para modificar algo del mismo comportamiento. Al utilizar estos mecanismos, debe tener en cuenta el orden de precedencia entre ellos. Las opciones de la línea de comandos anulan las variables de entorno y las variables de entorno anulan las propiedades que especifique en un config.json expediente.

los config.json El archivo almacena una codificación JSON de varias propiedades:

La propiedad HttpHeaders especifica un conjunto de encabezados para incluir en todos los mensajes enviados desde el cliente Docker al demonio. Docker no intenta interpretar ni comprender estos encabezados; simplemente los incluye en los mensajes. Docker no permite que estos encabezados cambien ningún encabezado que establezca por sí mismo.

La propiedad psFormat especifica el formato predeterminado para docker ps producción. Cuando el --format bandera no se proporciona con el docker ps comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker ps documentación

La propiedad imagesFormat especifica el formato predeterminado para docker images producción. Cuando el --format bandera no se proporciona con el docker images comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker images documentación

La propiedad pluginsFormat especifica el formato predeterminado para docker plugin ls producción. Cuando el --format bandera no se proporciona con el docker plugin ls comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker plugin ls documentación

La propiedad servicesFormat especifica el formato predeterminado para docker service ls producción. Cuando el --format bandera no se proporciona con el docker service ls comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato json predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker service ls documentación

La propiedad serviceInspectFormat especifica el formato predeterminado para docker service inspect producción. Cuando el --format bandera no se proporciona con el docker service inspect comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato json predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker service inspect documentación

La propiedad statsFormat especifica el formato predeterminado para docker stats producción. Cuando el --format bandera no se proporciona con el docker stats comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte Formateo sección en el docker stats documentación

La propiedad secretFormat especifica el formato predeterminado para docker secret ls producción. Cuando el --format bandera no se proporciona con el docker secret ls comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte Formateo sección en el docker secret ls documentación

La propiedad nodesFormat especifica el formato predeterminado para docker node ls producción. Cuando el --format bandera no se proporciona con el docker node ls comando, el cliente de Docker usa el valor de nodesFormat. Si el valor de nodesFormat no está configurado, el cliente usa el formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte la Formateo sección en el docker node ls documentación

La propiedad configFormat especifica el formato predeterminado para docker config ls producción. Cuando el --format bandera no se proporciona con el docker config ls comando, el cliente de Docker usa esta propiedad. Si no se establece esta propiedad, el cliente recurre al formato de tabla predeterminado. Para obtener una lista de las directivas de formato admitidas, consulte Formateo sección en el docker config ls documentación

La propiedad credsStore especifica un binario externo para que sirva como almacén de credenciales predeterminado. Cuando se establece esta propiedad, docker login intentará almacenar las credenciales en el binario especificado por docker-credential- que es visible en $PATH. Si no se establece esta propiedad, las credenciales se almacenarán en el auths propiedad de la configuración. Para obtener más información, consulte el Tienda de credenciales sección en el docker login documentación

La propiedad credHelpers especifica un conjunto de ayudantes de credenciales para usar preferentemente sobre credsStore o auths al almacenar y recuperar credenciales para registros específicos. Si se establece esta propiedad, el binario docker-credential- se utilizará al almacenar o recuperar credenciales para un registro específico. Para obtener más información, consulte el Ayudantes de credenciales sección en el docker login documentación

La propiedad stackOrchestrator especifica el orquestador predeterminado para usar cuando se ejecuta docker stack comandos de gestión. Los valores válidos son "swarm", "kubernetes", y "all". Esta propiedad se puede anular con la DOCKER_STACK_ORCHESTRATOR variable de entorno, o la --orchestrator bandera.

Una vez que se adjunta a un contenedor, los usuarios se separan de él y lo dejan funcionando con el uso de CTRL-p CTRL-q secuencia de teclas. Esta secuencia de teclas de desconexión se puede personalizar mediante el detachKeys propiedad. Especifique un valor de la propiedad. El formato del es una lista separada por comas de una letra [a-Z], o la ctrl- combinado con cualquiera de los siguientes:

  • a-z (un solo carácter alfabético en minúscula)
  • @ (a la señal)
  • [ (left bracket)
  • \ (two backward slashes)
  • _ (underscore)
  • ^ (caret)

Your customization applies to all containers started in with your Docker client. Users can override your custom or the default key sequence on a per-container basis. To do this, the user specifies the --detach-keys flag with the docker attach, docker exec, docker run or docker start command.

The property plugins contains settings specific to CLI plugins. The key is the plugin name, while the value is a further map of options, which are specific to that plugin.

Following is a sample config.json file:

  "HttpHeaders": 
    "MyHeader": "MyValue"
  ,
  "psFormat": "table .ID\t.Image\t.Command\t.Labels",
  "imagesFormat": "table .ID\t.Repository\t.Tag\t.CreatedAt",
  "pluginsFormat": "table .IDt.Namet.Enabled",
  "statsFormat": "table .Containert.CPUPerct.MemUsage",
  "servicesFormat": "table .IDt.Namet.Mode",
  "secretFormat": "table .IDt.Namet.CreatedAtt.UpdatedAt",
  "configFormat": "table .IDt.Namet.CreatedAtt.UpdatedAt",
  "serviceInspectFormat": "pretty",
  "nodesFormat": "table .IDt.Hostnamet.Availability",
  "detachKeys": "ctrl-e,e",
  "credsStore": "secretservice",
  "credHelpers": 
    "awesomereg.example.org": "hip-star",
    "unicorn.example.com": "vcbait"
  ,
  "stackOrchestrator": "kubernetes",
  "plugins": 
    "plugin1": 
      "option": "value"
    ,
    "plugin2": 
      "anotheroption": "anothervalue",
      "athirdoption": "athirdvalue"
    
  


Notary

If using your own notary server and a self-signed certificate or an internal Certificate Authority, you need to place the certificate at tls//ca.crt in your docker config directory.

Alternatively you can trust the certificate globally by adding it to your system’s list of root Certificate Authorities.

Examples

Display help text

To list the help on any command just execute the command, followed by the --help option.

$ docker run --help

Usage: docker run [OPTIONS]  IMAGEN [COMMAND] [ARG...]



Ejecutar un comando en un nuevo contenedor Opciones: --add-host value Agregar una asignación personalizada de host a IP (host: ip) (predeterminado []) -a, --attach value Adjuntar a STDIN, STDOUT o STDERR (predeterminado []) ...

Tipos de opciones

Las opciones de línea de comando de un solo carácter se pueden combinar, por lo que en lugar de escribir docker run -i -t --name test busybox sh, puedes escribir docker run -it --name test busybox sh.

Booleano

Las opciones booleanas toman la forma -d=false. El valor que ve en el texto de ayuda es el valor predeterminado que se establece si lo hace no especificar esa bandera. Si especifica una bandera booleana sin un valor, esto establecerá la bandera en true, independientemente del valor predeterminado.

Por ejemplo, corriendo docker run -d establecerá el valor en true, entonces tu contenedor voluntad ejecutar en modo “separado”, en segundo plano.

Opciones que están predeterminadas true (p.ej, docker build --rm=true) solo se puede establecer en el valor no predeterminado estableciéndolos explícitamente en false:

$ docker build --rm=false .

Multi

Puede especificar opciones como -a=[] varias veces en una sola línea de comando, por ejemplo, en estos comandos:

$ docker run -a stdin -a stdout -i -t ubuntu /bin/bash

$ docker run -a stdin -a stdout -a stderr ubuntu /bin/ls

A veces, múltiples opciones pueden requerir una cadena de valor más compleja como para -v:

$ docker run -v /host:/container example/mysql

Nota: No utilice el -t y -a stderr opciones juntas debido a limitaciones en el pty implementación. Todos stderr en pty el modo simplemente va a stdout.

Cadenas y enteros

Opciones como --name="" esperan una cadena, y solo se pueden especificar una vez. Opciones como -c=0 esperan un número entero, y solo se pueden especificar una vez.

Estibador, Documentación de Docker, CLI, línea de comando