Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Repositori GitHub Peribadi dalam Bekas Docker?

Bagaimana untuk Mengakses Repositori GitHub Peribadi dalam Bekas Docker?

Susan Sarandon
Susan Sarandonasal
2024-11-09 12:41:01850semak imbas

How to Access Private GitHub Repositories in Docker Containers?

Docker: Mengambil daripada Repositori GitHub Persendirian

Soalan:

Apabila cuba menggunakan repositori GitHub peribadi dalam Docker bekas untuk mendedahkan perkhidmatan Go, ralat berlaku semasa proses go get, memetik masalah dengan pengesahan kunci awam. Bagaimanakah isu ini boleh diselesaikan?

Jawapan:

1. Pastikan Kebenaran Kunci SSH yang Betul:

  • Sahkan bahawa kunci SSH peribadi dan awam yang ditambahkan pada Dockerfile (priv/id_rsa dan priv/id_rsa.pub) mempunyai kebenaran yang sesuai (cth., chmod 600 atau chmod 700).

2. Paksa Penggunaan SSH untuk Operasi Git:

  • Tambah baris berikut pada Dockerfile: RUN git config --global url.ssh://[email protected]/.insteadOf https ://github.com/, memaksa git untuk menggunakan SSH dan bukannya HTTPS.

3. Contoh Fail Docker:

FROM golang

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

Fail Docker yang diubah suai ini termasuk konfigurasi SSH dan memaksa penggunaan SSH untuk operasi Git, menyelesaikan isu yang dihadapi semasa proses go get.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Repositori GitHub Peribadi dalam Bekas Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn