https://github.com/samuelrojasm/demo-docker
Demostraciones prácticas que muestran cómo utilizar Docker en diferentes escenarios
https://github.com/samuelrojasm/demo-docker
docker docker-container docker-image dockerfile
Last synced: 5 months ago
JSON representation
Demostraciones prácticas que muestran cómo utilizar Docker en diferentes escenarios
- Host: GitHub
- URL: https://github.com/samuelrojasm/demo-docker
- Owner: samuelrojasm
- Created: 2025-03-13T20:47:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-28T02:16:53.000Z (about 1 year ago)
- Last Synced: 2025-05-28T02:55:18.234Z (about 1 year ago)
- Topics: docker, docker-container, docker-image, dockerfile
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🛠️ Demos de Uso de Docker

- Demostraciones prácticas que muestran cómo utilizar Docker en diferentes escenarios.
## 📂 Contenido
### Dockerfile
- [Imagen de contenedor con Amazon Linux 2023](https://github.com/samuelrojasm/demo-docker/tree/main/dockerfile-examples/amazonlinux2023-demo)
- [Amazon Linux 2023 + Python](https://github.com/samuelrojasm/demo-docker/tree/main/dockerfile-examples/amazonlinux2023-python)
### Docker CLI
- [Presistencia de datos - bind mount](https://github.com/samuelrojasm/demo-docker/tree/main/data-management/persistencia-datos)
---
## Conceptos Clave
- **Contenedores**: Un contenedor es una instancia en ejecución de una imagen Docker.
- **Dockerfile**: Archivo de texto con instrucciones para crear una imagen Docker personalizada.
- **Docker Compose**: Herramienta para definir y ejecutar aplicaciones Docker multicontenedor.
---
## Requisitos previos
- [Docker](https://www.docker.com/get-started) (Instalar la versión más reciente)
- [Docker Compose](https://docs.docker.com/compose/install/)
---
## Ejemplos de comandos de Docker
```zsh
# Obtener imagen minimalista de Amazon Linux
docker pull public.ecr.aws/amazonlinux/amazonlinux:2023-minimal
```
```zsh
# Usar el digest SHA directamente garantiza que siempre es la misma imagen
docker pull public.ecr.aws/amazonlinux/amazonlinux@sha256:
```
```zsh
# Obtener el digest SHA
docker inspect \
public.ecr.aws/amazonlinux/amazonlinux:2023 \ # Nombre completo de la imagen
--format '{{ .RepoDigests }}' # Filtro usando plantilla Go con propiedad del objeto de salida (JSON)
```
```zsh
# Buscar el digest SHA más reciente
docker pull public.ecr.aws/amazonlinux/amazonlinux:2023
docker inspect public.ecr.aws/amazonlinux/amazonlinux:2023 --format '{{ index .RepoDigests 0 }}'
```
```zsh
# Ejecutar contenedor interactivo
docker run \
-it \ # Terminal interactiva dentro del contenedor (-i para input interactivo, -t para emular un pseudo-TTY).
mi-imagen-amazonlinux2023 \ # Imagen a ejecutar
bash # Abre una shell dentro del contenedor
```
```zsh
# Asignamos un nombre personalizado al contendor
# Al salir con exit o Ctrl+D, detendrá el contenedor pero no lo eliminará
docker run -it --name mi-contenedor-al2023 mi-imagen-amazonlinux2023 bash
```
```zsh
# Reanudar sesión en el contenedor
docker start \
-ai \ # -a: adjunta la terminal a la salida -i: habilita la entrada interactiva
mi-contenedor-al2023 # Imagen que se quiere iniciar
```
```zsh
# Eliminar el contenedor cuando ya no se necesite
docker rm mi-contenedor-al2023
```
```zsh
# Eliminar la imagen (si ya no se necesita)
docker rmi mi-imagen-amazonlinux2023
```
```zsh
# Ejecutar contenedor interactivo y efímero
docker run \
--rm \ # Borrar contenedor al salir, no quedará listado ni siquiera con docker container ls -a.
-it \ # Terminal interactiva dentro del contenedor (-i para input interactivo, -t para emular un pseudo-TTY).
mi-imagen # Imagen a ejecutar
```
```zsh
# Al salir con exit o Ctrl+D, el contenedor:
# Se detiene, es eliminado inmediatamente, no aparece al listar contenedores detenidos
docker run --rm -it mi-imagen-amazonlinux2023 bash
```
```zsh
# Listar los paquetes instalados
docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023-minimal rpm -qa
```
```zsh
# Cantidad de paquetes instalados
docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023-minimal rpm -qa | wc -l
```
```zsh
# Obtener tamaño real expandido de la imagen
docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023 du -sh /
```
```zsh
# Mostrar solo la arquitectura (amd64, arm64, etc.) de una imagen específica
docker image inspect \
public.ecr.aws/amazonlinux/amazonlinux:2023 \ # Nombre completo de la imagen
--format '{{ .Architecture }}' # Filtro usando plantilla Go con propiedad del objeto de salida (JSON)
```
```zsh
# Correr contenedor y verificar arquitectura desde dentro
docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023 uname -m
```
```zsh
# Consultar el manifiesto para la etiqueta 2023
docker manifest inspect public.ecr.aws/amazonlinux/amazonlinux:2023
```
---
## 📚 Referencias
- [What is Docker?](https://docs.docker.com/get-started/docker-overview/)
- [Docker CLI reference](https://docs.docker.com/reference/cli/docker/)
- [Building best practices](https://docs.docker.com/build/building/best-practices/)
- [Storage](https://docs.docker.com/engine/storage/)
- [Docker Engine security](https://docs.docker.com/engine/security/)
---