Skip to content

Instantly share code, notes, and snippets.

@nelsonyaccuzzi
Last active August 28, 2020 21:32
Show Gist options
  • Save nelsonyaccuzzi/366dd82088b503c55c25982072738d32 to your computer and use it in GitHub Desktop.
Save nelsonyaccuzzi/366dd82088b503c55c25982072738d32 to your computer and use it in GitHub Desktop.
Practica de Containers - 1

Partir 2 maquinas virtuales con Ubuntu 20 recien instalado con un snapshot inicial antes de comenzar.

  1. En ambas instalar docker usando el repositorio oficial

https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

  1. Hacer un nuevo snapshot

  2. Realizar los siguientes tutoriales, ambos en la plataforma como en una maquina virtual

    1. https://www.katacoda.com/courses/container-runtimes/what-is-a-container
    2. https://www.katacoda.com/courses/container-runtimes/what-is-a-container-image
    3. https://www.katacoda.com/courses/docker/deploying-first-container
    4. https://www.katacoda.com/courses/docker/create-nginx-static-web-server
    5. https://www.katacoda.com/courses/docker/2
    6. https://www.katacoda.com/courses/docker/networking-intro#
    7. https://www.katacoda.com/courses/docker/persisting-data-using-volumes
  • Para el punto 3
    • Ejecutar un container basado en ubuntu 16
    • Instalar docker-ce-cli
    • Instalar busybox-static
    • Montar el socket de docker al container
    • Repetir el escenario.- Dejar el punto 3 para mas adelante
docker run -it -v /var/run/docker.sock:/var/run/docker.sock ubuntu:16.04 sh

apt-get update

apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

apt-get update

apt-get install docker-ce-cli

apt-get install busybox-static

Repetir el paso 3 del tutorial.

  1. Realizar lo siguiente

    1. En el primer servidor, crear una imagen de nginx a partir de una imagen docker basada en ubuntu, y como parte del proceso copiar una pagina estatica que como contenido identifique al nodo donde se encuentra. Nginx debe ser instalado desde el repo oficial
    2. En el segundo servidor, crear una imagen de nginx a partir de una imagen basada en centos, y que monte un directorio donde se encuentra la pagina estatica que como contenido identifique el nodo donde se encuentra.
    3. Entre ambos servidores se deben poder acceder a los servicios del otro. Hacer un curl para verificar.
  2. Realizar lo siguente

    1. Crear una red tipo bridge donde se van a conectar lo siguiente
    2. Crear dos container de distintas distrubuciones con open ssh server instalado
    3. Configurar el acceso por clave ssh directamente a la imagen
    4. Exponer el acceso ssh en uno solo de los containers
    5. Al container restantes solo se puede acceder desde el primero por ssh
    6. https://docs.docker.com/engine/examples/running_ssh_service/
  3. Realizar lo siguiente

    1. Crease una cuenta en dockerhub
    2. Pushear las imagenes creadas
    3. Pullear las imagenes desde el otro nodo.
    4. https://docs.docker.com/docker-hub/repos/#pushing-a-docker-container-image-to-docker-hub
  4. Realizar lo siguiente

    1. Crear un script que ejecute un bucle infinito que vaya imprimiento por pantalla el numero de iteracion cada un segundo
    2. Crear un imagen que ejecute este script
    3. Modificar el script para que tome como parametro la cantidad de iteraciones a ejecutar
    4. Crear una imagen que como entry point tenga la ejecucion del script y pasar el parametro al momento de ejecutar la imagen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment