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:35] – [Instalación] Santiago Faci | apuntes:docker [2025/03/24 09:38] (current) – [Construir e iniciar un proyecto con docker compose] Santiago Faci | ||
---|---|---|---|
Line 10: | Line 10: | ||
Incluso existe un repositorio, | 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 21: | Line 23: | ||
< | < | ||
- | ==== Instalación ==== | + | ===== Instalación |
Una vez hayamos descargado [[http:// | Una vez hayamos descargado [[http:// | ||
Line 45: | Line 47: | ||
</ | </ | ||
- | ==== Imágenes ==== | + | ===== Imágenes |
Las imágenes son una serie de capas software que definen la estructura que tendrá el contenedor que se cree a partir de ella. | Las imágenes son una serie de capas software que definen la estructura que tendrá el contenedor que se cree a partir de ella. | ||
- | === Crear una imagen === | + | ==== Crear una imagen |
Normalmente se crean a través de un fichero donde se definen las características que se quieren añadir a dicha imagen, creando un fichero llamado '' | Normalmente se crean a través de un fichero donde se definen las características que se quieren añadir a dicha imagen, creando un fichero llamado '' | ||
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 100: | Line 109: | ||
Podemos ver como ha arracando un servidor web Apache y, por el mapeo de puertos que hemos establecido, | Podemos ver como ha arracando un servidor web Apache y, por el mapeo de puertos que hemos establecido, | ||
- | === Listar las imágenes locales === | + | ==== Listar las imágenes locales |
Además, es posible comprobar que imágenes tenemos disponibles localmente. Serán las imágenes de las que hayamos creado contenedores en algún momento, independientemente de que éstos todavía existan. | Además, es posible comprobar que imágenes tenemos disponibles localmente. Serán las imágenes de las que hayamos creado contenedores en algún momento, independientemente de que éstos todavía existan. | ||
Line 112: | Line 121: | ||
</ | </ | ||
- | === Eliminar una imagen === | + | ==== Eliminar una imagen |
Si no necesitamos una imagen, y ésta no tiene contenedores creados, podemos eliminarla del sistema. | Si no necesitamos una imagen, y ésta no tiene contenedores creados, podemos eliminarla del sistema. | ||
Line 124: | Line 133: | ||
</ | </ | ||
- | ==== Contenedores ==== | + | También podemos hacerlo usando el nombre de la imagen: |
- | === Lanzar un contenedor === | + | <code bash> |
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | ===== Contenedores ===== | ||
+ | |||
+ | ==== Lanzar un contenedor ==== | ||
+ | |||
+ | Como ya hemos visto un poco más arriba, el comando '' | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
- | Como ya hemos visto un poco más arriba, el comando '' | + | Ahora veremos como también podemos lanzar contenedores indicando |
<code bash> | <code bash> | ||
Line 175: | Line 196: | ||
</ | </ | ||
- | === Listar los contenedores en ejecución === | + | ==== Listar los contenedores en ejecución |
Si dejamos el contenedor en marcha y lanzamos el comando '' | Si dejamos el contenedor en marcha y lanzamos el comando '' | ||
Line 185: | Line 206: | ||
</ | </ | ||
- | === Listar todos los contenedores === | + | ==== Listar todos los contenedores |
También podemos listar todos los contenedores, | También podemos listar todos los contenedores, | ||
Line 196: | Line 217: | ||
</ | </ | ||
- | === Eliminar un contenedor === | + | ==== Eliminar un contenedor |
Podemos eliminar un contenedor con el comando '' | Podemos eliminar un contenedor con el comando '' | ||
Line 205: | Line 226: | ||
</ | </ | ||
- | === Detener un contenedor === | + | ==== Detener un contenedor |
Y ahora podemos detener y/o volver a iniciar el contenedor refiriéndonos a ella a través del nombre asociado. | Y ahora podemos detener y/o volver a iniciar el contenedor refiriéndonos a ella a través del nombre asociado. | ||
Line 214: | Line 235: | ||
</ | </ | ||
- | === Iniciar un contenedor === | + | ==== Iniciar un contenedor |
El contenedor queda ya asociado y simplemente lo tengo que lanzar con el siguiente comando cada vez que lo quiera poner en marcha | El contenedor queda ya asociado y simplemente lo tengo que lanzar con el siguiente comando cada vez que lo quiera poner en marcha | ||
Line 223: | Line 244: | ||
</ | </ | ||
- | === Mostrar la información de un contenedor === | + | ==== Mostrar la información de un contenedor |
También podemos mostrar toda la información sobre un contenedor existente | También podemos mostrar toda la información sobre un contenedor existente | ||
Line 277: | 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.1505907337.txt.gz · Last modified: 2019/01/04 13:02 (external edit)