Partir 2 maquinas virtuales con Ubuntu 20 recien instalado con un snapshot inicial antes de comenzar.
- En ambas instalar docker usando el repositorio oficial
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
-
Hacer un nuevo snapshot
-
Realizar los siguientes tutoriales, ambos en la plataforma como en una maquina virtual
- https://www.katacoda.com/courses/container-runtimes/what-is-a-container
- https://www.katacoda.com/courses/container-runtimes/what-is-a-container-image
- https://www.katacoda.com/courses/docker/deploying-first-container
- https://www.katacoda.com/courses/docker/create-nginx-static-web-server
- https://www.katacoda.com/courses/docker/2
- https://www.katacoda.com/courses/docker/networking-intro#
- 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.
-
Realizar lo siguiente
- 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
- 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.
- Entre ambos servidores se deben poder acceder a los servicios del otro. Hacer un curl para verificar.
-
Realizar lo siguente
- Crear una red tipo bridge donde se van a conectar lo siguiente
- Crear dos container de distintas distrubuciones con open ssh server instalado
- Configurar el acceso por clave ssh directamente a la imagen
- Exponer el acceso ssh en uno solo de los containers
- Al container restantes solo se puede acceder desde el primero por ssh
- https://docs.docker.com/engine/examples/running_ssh_service/
-
Realizar lo siguiente
- Crease una cuenta en dockerhub
- Pushear las imagenes creadas
- Pullear las imagenes desde el otro nodo.
- https://docs.docker.com/docker-hub/repos/#pushing-a-docker-container-image-to-docker-hub
-
Realizar lo siguiente
- Crear un script que ejecute un bucle infinito que vaya imprimiento por pantalla el numero de iteracion cada un segundo
- Crear un imagen que ejecute este script
- Modificar el script para que tome como parametro la cantidad de iteraciones a ejecutar
- Crear una imagen que como entry point tenga la ejecucion del script y pasar el parametro al momento de ejecutar la imagen