Dockerize Go Apps dengan Private GitLab Modules
Apabila membina aplikasi Go anda dalam bekas Docker dengan modul GitLab peribadi, adalah penting untuk menyediakan Pengesahan SSH dengan berkesan. Berikut ialah pendekatan yang dipertingkatkan yang menangani isu dengan soalan yang dirujuk:
Fail Docker yang dikemas kini
Untuk menarik pakej peribadi daripada GitLab, ubah suai baris berikut dalam Fail Docker anda:
# Allow private repo pull RUN git config --global url."https://my-personal-access-token:[email protected]/".insteadOf "https://gitlab.com/"
SSH Konfigurasi
Kemas kini arahan berikut untuk menambah kunci SSH anda dan konfigurasikan Git untuk menggunakan SSH:
RUN mkdir ~/.ssh RUN touch ~/.ssh/known_hosts RUN ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
Bina Perintah
Gunakan sintaks percubaan Docker dan tentukan pilihan --mount=type=ssh untuk mendayakan SSH pemasangan:
DOCKER_BUILDKIT=1 docker build --progress=plain --mount=type=ssh .
Menyahpepijat Sambungan SSH
Untuk nyahpepijat isu sambungan SSH, jalankan arahan berikut sebelum langkah binaan pergi:
RUN ssh -A -v -l git gitlab.com
Penyelesaian Masalah AppArmor
Jika anda menghadapi akses ditolak ralat disebabkan oleh AppArmor, ubah suai profil apparmor docker /var/lib/snapd/apparmor/profiles/snap.docker.docker dan tambah baris ini:
/run/user/<uid>/keyring/ssh rw,
di mana
Nama Fail Utama
Pastikan kunci SSH yang digunakan untuk pengesahan mempunyai nama lalai, seperti id_rsa, atau konfigurasikan kemasukan Hos dalam fail .ssh/config Docker untuk menentukan nama kunci tersuai.
Dengan mengikuti ini arahan, anda seharusnya boleh membina apl Go yang menggunakan modul peribadi daripada GitLab dalam bekas Docker.
Atas ialah kandungan terperinci Bagaimana untuk Dockerize Aplikasi Go Menggunakan Modul GitLab Peribadi dengan Pengesahan SSH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!