Dino Geek, intenta ayudarte

¿Cómo utilizar Docker en Docker (Docker-in-Docker)?


Docker-in-Docker o dind es una forma bastante útil de utilizar Docker, especialmente en situaciones como pruebas de integración continua, construcción de pipelines, o en cualquier situación en la que quieras ejecutar Docker desde un contenedor Docker.

Aquí te digo cómo se hace:

1. Primero descarga la imagen Docker-in-Docker.

``` docker pull docker:dind ```

2. Levanta un contenedor Docker utilizando esa imagen. El comando `-v` se usa para montar el socket Docker en el contenedor, y el comando `-privilegiado` se usa para otorgar al contenedor todos los privilegios del host (lo que es necesario para ejecutar Docker dentro de Docker).

``` docker run —privileged -v /var/run/docker.sock:/var/run/docker.sock —name dind -d docker:dind ```

3. Luego, ingresa al contenedor Docker que acabas de crear.

``` docker exec -it dind sh ```

4. Ahora, te encontrarás dentro de un contenedor Docker, desde donde puedes ejecutar comandos Docker como si estuvieras en el host. Por ejemplo, puedes probar a ejecutar `docker run hello-world`.

Aun cuando el uso de Docker-in-Docker puede ser útil en ciertas situaciones, es importante hablar sobre los problemas de seguridad y rendimiento que pueden surgir.

Primero, como hemos mencionado, necesitas usar el flag `—privileged`, lo que significa que estás otorgando todos los privilegios del host a tu contenedor. Esto puede ser un problema de seguridad en entornos de producción.

Además, el rendimiento de tus contenedores Docker internos puede verse afectado.

Por eso, es común que en lugar de Docker-in-Docker, la gente monte el socket Docker del host en el contenedor, de manera que puede utilizar el demonio Docker del host para ejecutar contenedores. Esto se conoce como “Docker-outside-of-Docker”.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso