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:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
ADD keys/my_key_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
ADD . /go/src/github.com/myaccount/myprivaterepo
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.
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