# Instalar Docker Engine a partir de binarios


> [!IMPORTANT]
>
> Esta página contiene información sobre cómo instalar Docker mediante binarios. Estas instrucciones son adecuadas principalmente para fines de prueba. No se recomienda instalar Docker mediante binarios en entornos de producción, ya que no disponen de actualizaciones de seguridad automáticas. Los binarios de Linux descritos en esta página están enlazados estáticamente, lo que significa que las vulnerabilidades en las dependencias de compilación no se parchean automáticamente con las actualizaciones de seguridad de tu distribución de Linux.
>
> La actualización de los binarios también es un poco más compleja en comparación con los paquetes de Docker instalados a través de un gestor de paquetes o mediante Docker Desktop, ya que requiere actualizar (manualmente) la versión instalada cada vez que se publica una nueva versión de Docker.
>
> Además, es posible que los binarios estáticos no incluyan todas las funcionalidades que proporcionan los paquetes dinámicos.
>
> En Windows y Mac, se recomienda instalar [Docker Desktop](/desktop/) en su lugar. Para Linux, se recomienda seguir las instrucciones específicas de tu distribución.

Si quieres probar Docker o utilizarlo en un entorno de pruebas, pero no te encuentras en una plataforma compatible, puedes intentar realizar la instalación a partir de binarios estáticos. Si es posible, debes utilizar paquetes compilados para tu sistema operativo y emplear el sistema de gestión de paquetes de tu sistema operativo para gestionar la instalación y las actualizaciones de Docker.

Los binarios estáticos para el binario del demonio de Docker solo están disponibles para Linux (como `dockerd`) y Windows (como `dockerd.exe`).
Los binarios estáticos para el cliente de Docker están disponibles para Linux, Windows y macOS (como `docker`).

Este tema analiza la instalación de binarios para Linux, Windows y macOS:

- [Instalar binarios del demonio y del cliente en Linux](#instalar-binarios-del-demonio-y-del-cliente-en-linux)
- [Instalar binarios del cliente en macOS](#instalar-binarios-del-cliente-en-macos)
- [Instalar binarios del servidor y del cliente en Windows](#instalar-binarios-del-servidor-y-del-cliente-en-windows)

## Instalar binarios del demonio y del cliente en Linux

### Prerrequisitos

Antes de intentar instalar Docker a partir de binarios, asegúrate de que tu máquina host cumple con los prerrequisitos:

- Una instalación de 64 bits.
- Versión 3.10 o superior del kernel de Linux. Se recomienda la última versión del kernel disponible para tu plataforma.
- `iptables` versión 1.4 o superior.
- `git` versión 1.7 o superior.
- Un ejecutable `ps`, normalmente proporcionado por `procps` o un paquete similar.
- [XZ Utils](https://tukaani.org/xz/) 4.9 o superior.
- Una jerarquía `cgroupfs` [montada correctamente](https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount); un único punto de montaje de `cgroup` que lo abarque todo no es suficiente. Consulta los problemas de GitHub [#2683](https://github.com/moby/moby/issues/2683), [#3485](https://github.com/moby/moby/issues/3485) y [#4568](https://github.com/moby/moby/issues/4568).

#### Asegura tu entorno tanto como sea posible

##### Consideraciones del sistema operativo

Habilita SELinux o AppArmor si es posible.

Se recomienda utilizar AppArmor o SELinux si tu distribución de Linux admite cualquiera de los dos. Esto ayuda a mejorar la seguridad y bloquea ciertos tipos de exploits. Revisa la documentación de tu distribución de Linux para obtener instrucciones sobre cómo habilitar y configurar AppArmor o SELinux.

> **Advertencia de seguridad**
>
> Si alguno de los mecanismos de seguridad está habilitado, no lo deshabilites como una solución alternativa para hacer que Docker o sus contenedores se ejecuten. En su lugar, configúralo correctamente para solucionar cualquier problema.

##### Consideraciones del demonio de Docker

- Habilita los perfiles de seguridad `seccomp` si es posible. Consulta [Habilitar `seccomp` para Docker](/engine/security/seccomp/).

- Habilita los espacios de nombres de usuario (user namespaces) si es posible. Consulta las [opciones de espacio de nombres de usuario del demonio](/reference/cli/dockerd/#daemon-user-namespace-options).

### Instalar binarios estáticos

1. Descarga el archivo binario estático. Dirígete a [https://download.docker.com/linux/static/stable/](https://download.docker.com/linux/static/stable/), elige tu plataforma de hardware y descarga el archivo `.tgz` correspondiente a la versión de Docker Engine que deseas instalar.

2. Extrae el archivo utilizando la utilidad `tar`. Se extraerán los binarios `dockerd` y `docker`.

   ```console
   $ tar xzvf /ruta/al/<ARCHIVO>.tar.gz
   ```

3. **Opcional**: Mueve los binarios a un directorio en tu ruta de ejecutables (path), como `/usr/bin/`. Si omites este paso, debes proporcionar la ruta al ejecutable cuando invoques los comandos `docker` o `dockerd`.

   ```console
   $ sudo cp docker/* /usr/bin/
   ```

4. Inicia el demonio de Docker:

   ```console
   $ sudo dockerd &
   ```

   Si necesitas iniciar el demonio con opciones adicionales, modifica el comando anterior de forma correspondiente o crea y edita el archivo `/etc/docker/daemon.json` para añadir las opciones de configuración personalizadas.

5. Verifica que Docker se haya instalado correctamente ejecutando la imagen `hello-world`.

   ```console
   $ sudo docker run hello-world
   ```

   Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando el contenedor se ejecuta, imprime un mensaje y finaliza.

Ahora has instalado e iniciado correctamente Docker Engine.



> [!TIP]
> 
> ¿Recibes errores al intentar ejecutar sin root?
>
> El grupo de usuarios `docker` existe pero no contiene usuarios, por lo que debes 
> usar `sudo` para ejecutar los comandos de Docker. Continúa a [Pasos posteriores a la instalación en Linux](/engine/install/linux-postinstall) 
> para que los usuarios sin privilegios puedan ejecutar comandos de Docker y para ver otros pasos de configuración opcionales.


## Instalar binarios del cliente en macOS

> [!NOTE]
>
> Las siguientes instrucciones son adecuadas principalmente para fines de prueba. El binario de macOS incluye únicamente el cliente de Docker. No incluye el demonio `dockerd` que se requiere para ejecutar contenedores. Por lo tanto, se recomienda instalar [Docker Desktop](/desktop/) en su lugar.

Los binarios para Mac tampoco contienen:

- Un entorno de ejecución. Debes configurar un motor funcional ya sea en una máquina virtual o en una máquina Linux remota.
- Componentes de Docker como `buildx` y `docker compose`.

Para instalar los binarios del cliente, realiza los siguientes pasos:

1. Descarga el archivo binario estático. Dirígete a [https://download.docker.com/mac/static/stable/](https://download.docker.com/mac/static/stable/) y selecciona `x86_64` (para Mac con chip Intel) o `aarch64` (para Mac con Apple silicon), y luego descarga el archivo `.tgz` correspondiente a la versión de Docker Engine que deseas instalar.

2. Extrae el archivo utilizando la utilidad `tar`. Se extraerá el binario `docker`.

   ```console
   $ tar xzvf /ruta/al/<ARCHIVO>.tar.gz
   ```

3. Borra los atributos extendidos para permitir su ejecución.

   ```console
   $ sudo xattr -rc docker
   ```

   Ahora, cuando ejecutes el siguiente comando, podrás ver las instrucciones de uso de la CLI de Docker:

   ```console
   $ docker/docker
   ```

4. **Opcional**: Mueve el binario a un directorio en tu ruta de ejecutables (path), como `/usr/local/bin/`. Si omites este paso, debes proporcionar la ruta al ejecutable cuando invoques los comandos `docker` o `dockerd`.

   ```console
   $ sudo cp docker/docker /usr/local/bin/
   ```

5. Verifica que Docker se haya instalado correctamente ejecutando la imagen `hello-world`. El valor de `<hostname>` es un nombre de host o dirección IP que ejecuta el demonio de Docker y que sea accesible para el cliente.

   ```console
   $ sudo docker -H <hostname> run hello-world
   ```

   Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando el contenedor se ejecuta, imprime un mensaje y finaliza.

## Instalar binarios del servidor y del cliente en Windows

> [!NOTE]
>
> La siguiente sección describe cómo instalar el demonio de Docker en Windows Server, lo cual te permite ejecutar únicamente contenedores de Windows. Cuando instalas el demonio de Docker en Windows Server, este no contiene componentes de Docker como `buildx` y `compose`. Si estás ejecutando Windows 10 u 11, se recomienda instalar [Docker Desktop](/desktop/) en su lugar.

Los paquetes binarios en Windows incluyen tanto `dockerd.exe` como `docker.exe`. En Windows, estos binarios solo ofrecen la capacidad de ejecutar contenedores nativos de Windows (no contenedores de Linux).

Para instalar los binarios del servidor y del cliente, realiza los siguientes pasos:

1. Descarga el archivo binario estático. Dirígete a [https://download.docker.com/win/static/stable/x86_64](https://download.docker.com/win/static/stable/x86_64) y selecciona la última versión de la lista.

2. Ejecuta los siguientes comandos de PowerShell para instalar y extraer el archivo en tus archivos de programa:

   ```powershell
   PS C:\> Expand-Archive /ruta/al/<ARCHIVO>.zip -DestinationPath $Env:ProgramFiles
   ```

3. Registra el servicio e inicia Docker Engine:

   ```powershell
   PS C:\> &$Env:ProgramFiles\Docker\dockerd --register-service
   PS C:\> Start-Service docker
   ```

4. Verifica que Docker se haya instalado correctamente ejecutando la imagen `hello-world`.

   ```powershell
   PS C:\> &$Env:ProgramFiles\Docker\docker run hello-world:nanoserver
   ```

   Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando el contenedor se ejecuta, imprime un mensaje y finaliza.

## Actualizar binarios estáticos

Para actualizar tu instalación manual de Docker Engine, primero detén cualquier proceso `dockerd` o `dockerd.exe` que se ejecute localmente y luego sigue los pasos normales de instalación para instalar la nueva versión sobre la existente.

## Próximos pasos

- Continúa con los [Pasos posteriores a la instalación en Linux](/engine/install/binaries/linux-postinstall/).

