Tengo problemas para que Portainer funcione correctamente con AWS ECR. Tengo mis imágenes en funcionamiento en ECR, si ejecuto mi docker-compose con la línea de comando a través de SSH, funciona como se esperaba. Si hago un simple docker pull {myid}.dkr.ecr.eu-west-1.amazonaws.com/{repository} también funciona.
Pero si trato de ir a la misma imagen a través de la GUI del portainer y presiono tirar/empujar, siempre recibo este mensaje:
Configuración de mi repositorio:
Al menos con portainer puedo tener una buena visión general de mi contenedor en ejecución y las imágenes disponibles, pero es una pena que, hasta ahora, no pueda actualizarlas con la GUI. Por lo general, cuando hago una actualización, presiono (desde mi computadora local) y luego, en Portainer, vuelvo a crear el contenedor y especifico que extraiga la nueva imagen. Por supuesto, a partir de ahora, no puedo con el tirón que falla.
Cuando uso docker "cli", puedo hacer lo que quiera, empujar, tirar y mi docker-compose que usa mis imágenes ECR puede ejecutarse sin problemas.
Gracias por adelantado.
Desafortunadamente, no, estoy usando aws cli para hacer eso con mis tareas de npm. Si te interesa aquí está: `
"publish": "npm run _docker:build && npm run _aws:auth && npm run _aws:tag && npm run _aws:push && npm run _docker:prune", "_docker:build": "docker build -t *yourImageName* .", "_aws:auth": "aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin *yourID*.dkr.ecr.eu-west-1.amazonaws.com", "_aws:tag": "docker tag *yourImageName:latest* yourID.dkr.ecr.eu-west-1.amazonaws.com/*yourImageName*:latest", "_aws:push": "docker push *yourID*.dkr.ecr.eu-west-1.amazonaws.com/*yourImageNam*e:latest", "_docker:prune": "docker image prune -f"`
Resolví este problema creando un cronjob en el servidor que ejecuta el script de inicio de sesión para el repositorio de AWS ECR (explicado aquí ) cada 30 minutos más o menos. De esta manera, no necesita agregar el registro en portainer.
Puede recuperar la contraseña a través de la CLI de AWS que se explica aquí y utilizarla para iniciar sesión con portainer. Pero la razón por la que esta es una mala idea es porque AWS restablece la contraseña dos veces al día, por lo que el inicio de sesión solo sería válido durante 12 horas.