apuntes:docker
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:docker [2017/09/20 11:48] – Santiago Faci | apuntes:docker [2025/03/24 09:38] (current) – [Construir e iniciar un proyecto con docker compose] Santiago Faci | ||
---|---|---|---|
Line 8: | Line 8: | ||
Docker permite empaquetar y lanzar una aplicación en un entorno totalmente aislado llamado contenedor. Estos contenedores se ejecutan directamente sobre el kernel de la máquina por lo que son mucho más ligeros que las máquinas virtuales. De esa manera podemos ejecutar mucho más contenedores para el mismo equipo que si éstos fueran maquina virtuales. De esta manera, podemos probar rapidamente uestra aplicación web, por ejemplo, en múltiples entornos distintos al de donde nos encontramos desarrollando. Realmente es mucho más rápido que hacerlo en una máquina virtual, puesto que reduce el tiempo de carga y el espacio requerido por cada uno de estos contenedores o máquinas. | Docker permite empaquetar y lanzar una aplicación en un entorno totalmente aislado llamado contenedor. Estos contenedores se ejecutan directamente sobre el kernel de la máquina por lo que son mucho más ligeros que las máquinas virtuales. De esa manera podemos ejecutar mucho más contenedores para el mismo equipo que si éstos fueran maquina virtuales. De esta manera, podemos probar rapidamente uestra aplicación web, por ejemplo, en múltiples entornos distintos al de donde nos encontramos desarrollando. Realmente es mucho más rápido que hacerlo en una máquina virtual, puesto que reduce el tiempo de carga y el espacio requerido por cada uno de estos contenedores o máquinas. | ||
+ | |||
+ | Incluso existe un repositorio, | ||
+ | |||
+ | En las siguienes imágenes se compara la arquitectura de Docker y la de un sistema basado en máquinas virtuales. Se puede observar que, al eliminar la necesidad de un Sistema Operativo invitado, los contenedores de Docker son mucho más ligeros. En la práctica, se puede apreciar claramente como la velocidad de creación y arranque de estos contenedores es claramente superior a la de cualquier máquina virtual, sobre todo porque en cada contenedor podremos decidir que capas instalar contando sólo con lo estrictamente necesario. | ||
< | < | ||
Line 14: | Line 18: | ||
{{ apuntes: | {{ apuntes: | ||
< | < | ||
- | |||
- | Incluso existe un repositorio, | ||
< | < | ||
Line 57: | Line 59: | ||
COPY src / | COPY src / | ||
</ | </ | ||
+ | |||
+ | De esta forma tendremos una carpeta cuyo contenido será el fichero '' | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | Dockerfile src | ||
+ | </ | ||
A continuación, | A continuación, | ||
Line 78: | Line 87: | ||
cddaac5f61ab: | cddaac5f61ab: | ||
1d7adb8f245d: | 1d7adb8f245d: | ||
- | Digest: sha256:917ceda30c70ebb682536a1f091f25a8364d61c72c332396e8331feef389128a | + | Digest: sha256:917ceda30c70ebb682536a1f091f25a8364d61c72c3323. . . |
Status: Downloaded newer image for php: | Status: Downloaded newer image for php: | ||
| | ||
Line 122: | Line 131: | ||
Deleted: sha256: | Deleted: sha256: | ||
Deleted: sha256: | Deleted: sha256: | ||
+ | </ | ||
+ | |||
+ | También podemos hacerlo usando el nombre de la imagen: | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
</ | </ | ||
Line 283: | Line 298: | ||
santi@zenbook: | santi@zenbook: | ||
map[80/ | map[80/ | ||
+ | </ | ||
+ | |||
+ | ===== Docker Compose ===== | ||
+ | |||
+ | ==== Construir e iniciar un proyecto con docker compose ==== | ||
+ | |||
+ | <code yaml> | ||
+ | version: " | ||
+ | name: cities | ||
+ | services: | ||
+ | db: | ||
+ | image: mariadb: | ||
+ | container_name: | ||
+ | environment: | ||
+ | MYSQL_USER: ' | ||
+ | MYSQL_PASSWORD: | ||
+ | MYSQL_PORT: 3306, | ||
+ | MYSQL_ROOT_PASSWORD: | ||
+ | ports: | ||
+ | - " | ||
+ | volumes: | ||
+ | - ./ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | ==== Detener un proyecto docker compose ==== | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | ==== Iniciar un proyecto docker compose ==== | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | ==== Eliminar un proyecto docker compose ==== | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Configurar una red para un proyecto docker compose ==== | ||
+ | |||
+ | ===== Varios ===== | ||
+ | |||
+ | ==== Eliminar la caché ==== | ||
+ | |||
+ | Eliminará la cache del proceso de construcción de las imágenes. Asi podemos forzar que vuelva a descargar todos los ficheros y realizar todos los pasos como si fuera la primera vez. | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
</ | </ | ||
apuntes/docker.1505908134.txt.gz · Last modified: 2019/01/04 13:02 (external edit)