Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
¿Cómo puedo actualizar las credenciales de mi repositorio privado en un agente de contenedor de Amazon ECS?
Quiero actualizar las credenciales de mi repositorio privado en un agente de contenedor de Amazon Elastic Container Service (Amazon ECS) que se suministra a través de AWS Secrets Manager o variables de entorno.
Descripción corta
Para proporcionar las credenciales de un repositorio privado al agente de contenedor de Amazon ECS, use Secrets Manager en la definición de la tarea o las variables de entorno.
Nota: No es una práctica recomendada de seguridad almacenar las credenciales en texto plano en las instancias de contenedor. A menos que la arquitectura dependa directamente del almacenamiento de las credenciales del registro en la instancia de contenedor, use Secrets Manager.
Resolución
Actualización de las credenciales del repositorio privado con Secrets Manager
Siga estos pasos:
- Abra la consola de Secrets Manager.
- Seleccione su secreto y, a continuación, seleccione Recuperar el valor secreto.
- Seleccione Editar.
- Actualice las credenciales almacenadas para su registro privado y, a continuación, seleccione Guardar.
- Para continuar, siga los pasos de la sección Probar las credenciales actualizadas del repositorio privado.
Actualización de las credenciales del repositorio privado con variables de entorno
Siga estos pasos:
- Conéctese a su instancia de contenedor.
- Para revisar cómo suministra las credenciales de Docker a su agente de contenedor de ECS, ejecute el siguiente comando:
Este comando devuelve el contenido del archivo /etc/ecs/ecs.config.$ cat /etc/ecs/ecs.config
Si la variable ECS_ENGINE_AUTH_TYPE está configurada en docker, está pasando directamente sus credenciales de Docker en texto plano a su agente de contenedor de ECS. Sin embargo, no es una buena práctica utilizar este enfoque. En su lugar, use Secrets Manager. O bien, utilice el enfoque de formato dockercfg en la siguiente sección Obtención de un nuevo valor de autenticación de Docker.
Si la variable ECS_ENGINE_AUTH_TYPE está configurada en dockercfg, está pasando sus credenciales de Docker mediante un valor de autenticación generado por Docker que genera el comando docker login. Si usa este enfoque, complete los pasos de la sección Obtención de un nuevo valor de autenticación de Docker.
Obtención de un nuevo valor de autenticación de Docker
Siga estos pasos:
-
Para iniciar sesión localmente en su cuenta de Docker, ejecute el siguiente comando y, a continuación, introduzca las nuevas credenciales:
$ docker login
-
Para concatenar el archivo config.json, ejecute el siguiente comando y, a continuación, copie el valor de la clave de autenticación generada por Docker:
$ cat ~/.docker/config.json
-
Para actualizar la variable ECS_ENGINE_AUTH_DATA, ejecute el siguiente comando:
$ sudo vi /etc/ecs/ecs.config
-
En el editor vi, actualice el valor de la variable ECS_ENGINE_AUTH_DATA al valor de la clave de autenticación de Docker. Ejemplo:
ECS_CLUSTER=TestECSCluster ECS_ENGINE_AUTH_TYPE=dockercfg ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"a2vpdGhhd3M6UGFzc3dvcmQ=","email":"email@example.com"}}
-
Siga los pasos de la sección Reinicio del agente de contenedor de ECS.
Reinicio del agente de contenedor de ECS
Siga estos pasos:
- Para reiniciar el agente de contenedor de ECS, ejecute uno de los siguientes comandos en función de las imágenes de máquina de Amazon (AMI) en las que se ejecutan las instancias de contenedor.
AMI optimizadas para ECS de Amazon Linux 2:
Nota: Amazon Linux 1 llegó al final de su ciclo de vida el 31 de diciembre de 2023. La AMI de Amazon Linux ya no recibirá actualizaciones de seguridad ni correcciones de errores. Para obtener más información, consulte Actualización sobre el final del ciclo de vida de la AMI de Amazon Linux.$ sudo systemctl restart ecs
AMI optimizadas para ECS de Amazon Linux:
Nota: Para actualizar el archivo /etc/ecs/ecs.config en otras instancias de contenedor de su clúster de ECS, consulte Actualización de las credenciales del repositorio privado con variables de entorno. A continuación, siga el proceso de actualización para cada instancia de contenedor.$ sudo stop ecs && sudo start ecs
- Para continuar, siga los pasos de la sección Probar las credenciales actualizadas del repositorio privado.
Prueba de las credenciales actualizadas del repositorio privado
Nota: En el siguiente ejemplo de prueba, se despliega una imagen actualizada en un clúster.
Siga estos pasos:
- Abra la consola de Amazon ECS.
- En el panel de navegación, seleccione Clústeres y, a continuación, seleccione su clúster.
- Seleccione su servicio y, a continuación, seleccione Actualizar.
- Seleccione la casilla de verificación Forzar un nuevo despliegue.
- Seleccione Actualizar.
- En la pestaña Despliegues, revise el nuevo despliegue. Amazon ECS detiene gradualmente las tareas del despliegue anterior. A continuación, Amazon ECS reinicia las tareas del nuevo despliegue mientras ECS intenta extraer una imagen nueva.
Nota: Si utiliza tareas de tipo inicio de EC2, su clúster debe tener recursos suficientes para realizar correctamente un tipo de despliegue de actualización continua. - Seleccione la pestaña Tareas y, a continuación, compruebe cada tarea individual y su estado.
Si el estado de la tarea está establecido en En ejecución, el servicio ha actualizado esta tarea correctamente sin errores.
Si el último estado de la nueva tarea está establecido en Detenido | No se ha podido iniciar la tarea, el servicio actualizó esta tarea y, a continuación, detectó un error. El agente de contenedor de ECS no puede extraer una nueva imagen de contenedor y utiliza la imagen antigua en caché. Compruebe que sus credenciales estén actualizadas y, a continuación, realice otra actualización del despliegue del servicio.
Nota: Para mostrar todos los detalles de la tarea y ver el error «acceso de extracción denegado», elija el ID de la tarea con errores. En la página Descripción, en Contenedores, seleccione Detenido.
Ejemplo de mensaje de error:
«CannotPullContainerError: Respuesta de error del daemon: se ha denegado el acceso a la extracción para el usuario/nombre de usuario, el repositorio no existe o puede requerir un «inicio de sesión en Docker»
Información relacionada

Contenido relevante
- preguntada hace 3 meseslg...
- preguntada hace 2 meseslg...
- preguntada hace un meslg...
- preguntada hace un meslg...
- Respuesta aceptadapreguntada hace un meslg...
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace 6 meses
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años