docker version
| Descripción | Show the Docker version information |
|---|---|
| Uso | docker version [OPTIONS] |
Descripción
El comando version muestra el número de versión actual de todos los componentes de Docker versionados de forma independiente. Utiliza la opción --format para personalizar la salida.
El comando de versión (docker version) muestra los números de versión de los componentes de Docker, mientras que la opción --version (docker --version) muestra el número de versión de la CLI de Docker que estás utilizando.
Salida por defecto
La salida por defecto muestra toda la información de la versión dividida en dos secciones: la sección Client (Cliente) contiene información sobre la CLI de Docker y los componentes del cliente, y la sección Server (Servidor) contiene información sobre el motor Docker (Docker Engine) y los componentes utilizados por este, como los entornos de ejecución (runtimes) de OCI containerd y runc.
La información mostrada puede variar dependiendo de cómo hayas instalado Docker y de los componentes que estén en uso. El siguiente ejemplo muestra la salida en una máquina macOS que ejecuta Docker Desktop:
$ docker version
Client: Docker Engine - Community
Version: 28.5.1
API version: 1.51
Go version: go1.24.8
Git commit: e180ab8
Built: Wed Oct 8 12:16:17 2025
OS/Arch: darwin/arm64
Context: remote-test-server
Server: Docker Desktop 4.19.0 (12345)
Engine:
Version: 27.5.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.11
Git commit: 4c9b3b0
Built: Wed Jan 22 13:41:24 2025
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Versiones del cliente y del servidor
Docker utiliza una arquitectura cliente/servidor, que te permite usar la CLI de Docker en tu máquina local para controlar un motor Docker (Docker Engine) que se ejecuta en una máquina remota, la cual puede ser (por ejemplo) una máquina en la nube o dentro de una máquina virtual.
El siguiente ejemplo cambia la CLI de Docker para usar un
contexto llamado remote-test-server, que ejecuta una versión anterior de Docker Engine en un servidor Linux:
$ docker context use remote-test-server
remote-test-server
$ docker version
Client: Docker Engine - Community
Version: 28.5.1
API version: 1.51
Go version: go1.24.8
Git commit: e180ab8
Built: Wed Oct 8 12:16:17 2025
OS/Arch: darwin/arm64
Context: remote-test-server
Server: Docker Engine - Community
Engine:
Version: 27.5.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.11
Git commit: 4c9b3b0
Built: Wed Jan 22 13:41:24 2025
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Versión de la API y negociación de versión
La versión de la API utilizada por el cliente depende del Docker Engine al que se conecta la CLI de Docker. Al conectarse con el Docker Engine, la CLI de Docker y el Docker Engine realizan una negociación de la versión de la API y seleccionan la versión de la API más alta compatible tanto por la CLI de Docker como por el Docker Engine.
Por ejemplo, si la CLI se conecta con la versión 27.5 de Docker Engine, se degrada a la versión 1.47 de la API (consulta la tabla de versiones de la API para conocer las versiones de la API compatibles con Docker Engine):
$ docker version --format '{{.Client.APIVersion}}'
1.47
Ten en cuenta que la versión de la API también se puede invalidar utilizando la variable de entorno DOCKER_API_VERSION, lo cual puede ser útil para fines de depuración y desactiva la negociación de la versión de la API. El siguiente ejemplo ilustra un entorno donde la variable de entorno DOCKER_API_VERSION está establecida. Eliminar la variable de entorno quita la invalidación y vuelve a activar la negociación de la versión de la API:
$ env | grep DOCKER_API_VERSION
DOCKER_API_VERSION=1.50
$ docker version --format '{{.Client.APIVersion}}'
1.50
$ unset DOCKER_API_VERSION
$ docker version --format '{{.Client.APIVersion}}'
1.51
Opciones
| Opción | Predeterminado | Descripción |
|---|---|---|
-f, --format | Da formato a la salida utilizando una plantilla personalizada: 'json': Muestra la salida en formato JSON 'TEMPLATE': Muestra la salida utilizando la plantilla de Go especificada. Consulta https://docs-docker.esdocu.com/go/formatting/ para obtener más información sobre cómo dar formato a la salida con plantillas |
Ejemplos
Dar formato a la salida (--format)
La opción de formato (--format) muestra la salida de manera atractiva utilizando una plantilla de Go, lo que te permite personalizar el formato de salida o obtener información específica de la salida. Consulta la página
dar formato a la salida de comandos y registros para obtener detalles sobre el formato.
Obtener la versión del servidor
$ docker version --format '{{.Server.Version}}'
28.5.1
Obtener la versión de la API del cliente
El siguiente ejemplo muestra la versión de la API que utiliza el cliente:
$ docker version --format '{{.Client.APIVersion}}'
1.51
La versión mostrada es la versión de la API negociada entre el cliente y el Docker Engine. Consulta la sección Versión de la API y negociación de versión anterior para obtener más información.
Volcar datos JSON sin procesar
$ docker version --format '{{json .}}'
{"Client":"Version":"28.5.1","ApiVersion":"1.51", ...}