Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

342
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

0

Puede eliminar el archivo docker-credential-osxkeychain :

 $ sudo rm /usr/local/bin/docker-credential-osxkeychain
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda