"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como usar “go get” para buscar repositórios privados do GitHub em um contêiner Debian Wheezy Docker?

Como usar “go get” para buscar repositórios privados do GitHub em um contêiner Debian Wheezy Docker?

Publicado em 2024-11-20
Navegar:336

How to Use

Docker: busca de repositórios privados do GitHub usando "go get"

Ao tentar executar um contêiner que hospeda um serviço golang de um GitHub privado repositório, você poderá encontrar dificuldades se estiver usando a imagem google/debian:wheezy como ponto de partida. Este erro surge quando "go get" tenta clonar o repositório.

O problema decorre de dificuldades na clonagem do repositório privado devido a problemas de validação de chave SSH. Notavelmente, embora você tenha adicionado as chaves SSH do GitHub ao Dockerfile para permitir a clonagem, parece haver um problema com a validação da chave pública.

Para resolver esse problema, considere a seguinte solução:

  1. Instale o SSH e configure o Git para usar SSH:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
  1. Adicione a chave privada ao contêiner:
ADD keys/my_key_rsa /root/.ssh/id_rsa
  1. Definir permissões na chave privada:
RUN chmod 700 /root/.ssh/id_rsa
  1. Configure Git para forçar SSH para GitHub :
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
  1. Set a preferência de URL SSH do Git:
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
  1. Adicione o repositório privado à imagem do Docker:
ADD . /go/src/github.com/myaccount/myprivaterepo
  1. Execute "go get" e instale o pacote:
RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo

Esta solução envolve a instalação de SSH e a construção de uma chave privada no contêiner. Embora não seja ideal, ele fornece uma solução alternativa para o problema de busca de repositórios privados usando "go get" em um ambiente Docker baseado em Debian Wheezy.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3