Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

340
Vistas
inicio de sesión de docker - error al almacenar credenciales - error de permisos de escritura

Estoy ejecutando un comando de docker login de sesión de Docker como parte del trabajo de compilación de Bamboo. El texto del comando se obtiene mediante una llamada aws ecr get-login y se ejecuta en un subshell.

Este comando falla con Error saving credentials: error storing credentials - err: exit status 1, out: write permissions error cuando se ejecutó como parte de la compilación de Bamboo, pero exactamente el mismo comando se ejecutó en la Terminal en la Mac que es el agente de compilación , tiene éxito.

Usando Terminal:

  • aws ecr get-login tiene éxito y devuelve el texto del comando de inicio de docker login
  • docker login -u ... -p ... -e none ... tiene éxito e inicia sesión
  • Hay un registro para la URL de ECR en KeyChain
  • Hay una entrada en ~/.docker/config.json

Usando bambú:

  • aws ecr get-login tiene éxito y devuelve el texto del comando de inicio de docker login
  • docker login -u ... -p ... -e none ... falla con el error anterior
  • El registro de KeyChain que está disponible para todas las aplicaciones no hace ninguna diferencia'
  • chmod 777 ~/.docker/config.json no hace ninguna diferencia

Tanto la compilación de Bamboo como la sesión de Terminal se llevan a cabo bajo el mismo usuario- builduser . whoami es el mismo para ambos. stat ~/.docker/config.json es el mismo para ambos, se puede escribir para ambos.

¿Puedes pensar en otras formas de descubrir las diferencias entre el contexto en el que Bamboo ejecuta la compilación y yo en la terminal? El error anterior, textualmente, relacionado con el inicio de docker login no se encuentra en línea.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Tuve que eliminar mi archivo config.json existente. No sobrescribiría ni modificaría el que tenía.

over 4 years ago · Santiago Trujillo Denunciar

0

Encontré esta pregunta al intentar usar ECR para ejecutar un contenedor Docker dentro de una canalización de Jenkins en una instancia de AWS EC2 con un perfil de instancia de IAM. Encontré mucha información sobre cómo crear, enviar y extraer instancias de ECR, pero no ejecutarlas.

El objetivo es un contenedor Docker con las versiones específicas de Ruby y Ansible instaladas, con todas las diversas dependencias, como los archivos Gem.

Encontré que el siguiente Jenkinsfile funcionó:

 pipeline { agent any environment { DOCKER_CONFIG = "${WORKSPACE}/docker.config" } stages { stage('Build') { steps { sh("rm -rf ${DOCKER_CONFIG}") sh("eval \$(aws ecr get-login --no-include-email | sed 's|https://||')") withDockerContainer(args: '-v ${WORKSPACE}:/scripts -v ${HOME}/.aws:/root/.aws', image: 'image_name:latest') { sh("ruby script.rb") } } } } }

Notas:

  • El comando de inicio de sesión de Docker modifica el archivo .docker/config.json y, en algunos casos, parece fallar con un error de escritura. Supongo que no puede manejar alguna combinación de configuración existente en el archivo y errores. El uso de la variable de entorno DOCKER_CONFIG hace que se cree un nuevo archivo de configuración localmente.
  • Es posible que no sea necesario eliminar el directorio ${DOCKER_CONFIG} y es posible que lleve más tiempo. Sin embargo, creo que podría evitar el caso en que las credenciales almacenadas allí estén obsoletas.
  • Esto debe estar instalado: https://github.com/awslabs/amazon-ecr-credential-helper
  • Encontré la solución de declaración de evaluación aquí:Jenkins Amazon ECR: sin credenciales de autenticación básicas
over 4 years ago · Santiago Trujillo Denunciar

0

Puede eliminar el archivo docker-credential-osxkeychain :

 $ sudo rm /usr/local/bin/docker-credential-osxkeychain
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda