{"id":27119920,"url":"https://github.com/samuelrojasm/demo-docker","last_synced_at":"2026-01-20T05:03:15.181Z","repository":{"id":282311223,"uuid":"948151262","full_name":"samuelrojasm/demo-docker","owner":"samuelrojasm","description":"Demostraciones prácticas que muestran cómo utilizar Docker en diferentes escenarios","archived":false,"fork":false,"pushed_at":"2025-05-28T02:16:53.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-28T02:55:18.234Z","etag":null,"topics":["docker","docker-container","docker-image","dockerfile"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samuelrojasm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-13T20:47:44.000Z","updated_at":"2025-05-28T02:16:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"fca78c6e-d841-4893-a45b-4f01b03915a2","html_url":"https://github.com/samuelrojasm/demo-docker","commit_stats":null,"previous_names":["samuelrojasm/demo-docker-data-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samuelrojasm/demo-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelrojasm%2Fdemo-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelrojasm%2Fdemo-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelrojasm%2Fdemo-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelrojasm%2Fdemo-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samuelrojasm","download_url":"https://codeload.github.com/samuelrojasm/demo-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelrojasm%2Fdemo-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-container","docker-image","dockerfile"],"created_at":"2025-04-07T09:06:59.628Z","updated_at":"2026-01-20T05:03:15.176Z","avatar_url":"https://github.com/samuelrojasm.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛠️ Demos de Uso de Docker\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n- Demostraciones prácticas que muestran cómo utilizar Docker en diferentes escenarios.\n\n## 📂 Contenido\n### Dockerfile\n- [Imagen de contenedor con Amazon Linux 2023](https://github.com/samuelrojasm/demo-docker/tree/main/dockerfile-examples/amazonlinux2023-demo)\n- [Amazon Linux 2023 + Python](https://github.com/samuelrojasm/demo-docker/tree/main/dockerfile-examples/amazonlinux2023-python)\n\n### Docker CLI\n- [Presistencia de datos - bind mount](https://github.com/samuelrojasm/demo-docker/tree/main/data-management/persistencia-datos)\n\n---\n\n## Conceptos Clave\n- **Contenedores**: Un contenedor es una instancia en ejecución de una imagen Docker.\n- **Dockerfile**: Archivo de texto con instrucciones para crear una imagen Docker personalizada.\n- **Docker Compose**: Herramienta para definir y ejecutar aplicaciones Docker multicontenedor.\n\n---\n\n## Requisitos previos\n- [Docker](https://www.docker.com/get-started) (Instalar la versión más reciente)\n- [Docker Compose](https://docs.docker.com/compose/install/)\n\n---\n\n## Ejemplos de comandos de Docker\n\n```zsh\n# Obtener imagen minimalista de Amazon Linux\ndocker pull public.ecr.aws/amazonlinux/amazonlinux:2023-minimal\n```\n\n```zsh\n# Usar el digest SHA directamente garantiza que siempre es la misma imagen\ndocker pull public.ecr.aws/amazonlinux/amazonlinux@sha256:\u003cdigest\u003e\n```\n\n```zsh\n# Obtener el digest SHA\ndocker inspect \\\n    public.ecr.aws/amazonlinux/amazonlinux:2023 \\ # Nombre completo de la imagen\n    --format '{{ .RepoDigests }}'                 # Filtro usando plantilla Go con propiedad del objeto de salida (JSON)\n```\n\n```zsh\n# Buscar el digest SHA más reciente\ndocker pull public.ecr.aws/amazonlinux/amazonlinux:2023\ndocker inspect public.ecr.aws/amazonlinux/amazonlinux:2023 --format '{{ index .RepoDigests 0 }}'\n```\n\n```zsh\n# Ejecutar contenedor interactivo\ndocker run \\ \n  -it \\                       # Terminal interactiva dentro del contenedor (-i para input interactivo, -t para emular un pseudo-TTY).\n  mi-imagen-amazonlinux2023 \\ # Imagen a ejecutar\n  bash                        # Abre una shell dentro del contenedor\n```\n\n```zsh\n# Asignamos un nombre personalizado al contendor\n# Al salir con exit o Ctrl+D, detendrá el contenedor pero no lo eliminará\ndocker run -it --name mi-contenedor-al2023 mi-imagen-amazonlinux2023 bash\n```\n\n```zsh\n# Reanudar sesión en el contenedor\ndocker start \\ \n   -ai  \\                # -a: adjunta la terminal a la salida -i: habilita la entrada interactiva\n   mi-contenedor-al2023  # Imagen que se quiere iniciar\n```\n\n```zsh\n# Eliminar el contenedor cuando ya no se necesite\ndocker rm mi-contenedor-al2023\n```\n\n```zsh\n# Eliminar la imagen (si ya no se necesita)\ndocker rmi mi-imagen-amazonlinux2023\n```\n\n```zsh\n# Ejecutar contenedor interactivo y efímero\ndocker run \\\n  --rm \\          # Borrar contenedor al salir, no quedará listado ni siquiera con docker container ls -a.\n  -it \\           # Terminal interactiva dentro del contenedor (-i para input interactivo, -t para emular un pseudo-TTY).\n  mi-imagen       # Imagen a ejecutar\n```\n\n```zsh\n# Al salir con exit o Ctrl+D, el contenedor:\n# Se detiene, es eliminado inmediatamente, no aparece al listar contenedores detenidos\ndocker run --rm -it mi-imagen-amazonlinux2023 bash\n```\n\n```zsh\n# Listar los paquetes instalados\ndocker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023-minimal rpm -qa\n```\n\n```zsh\n# Cantidad de paquetes instalados\ndocker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023-minimal rpm -qa | wc -l\n```\n\n```zsh\n#  Obtener tamaño real expandido de la imagen\n docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023 du -sh /\n```\n\n```zsh\n # Mostrar solo la arquitectura (amd64, arm64, etc.) de una imagen específica\ndocker image inspect \\\n  public.ecr.aws/amazonlinux/amazonlinux:2023 \\  # Nombre completo de la imagen\n  --format '{{ .Architecture }}'                 # Filtro usando plantilla Go con propiedad del objeto de salida (JSON)\n```\n\n```zsh\n# Correr contenedor y verificar arquitectura desde dentro\ndocker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2023 uname -m\n```\n\n```zsh\n# Consultar el manifiesto para la etiqueta 2023\ndocker manifest inspect public.ecr.aws/amazonlinux/amazonlinux:2023\n```\n\n---\n\n## 📚 Referencias\n- [What is Docker?](https://docs.docker.com/get-started/docker-overview/)\n- [Docker CLI reference](https://docs.docker.com/reference/cli/docker/)\n- [Building best practices](https://docs.docker.com/build/building/best-practices/)\n- [Storage](https://docs.docker.com/engine/storage/)\n- [Docker Engine security](https://docs.docker.com/engine/security/)\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelrojasm%2Fdemo-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelrojasm%2Fdemo-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelrojasm%2Fdemo-docker/lists"}