Mengonfigurasi Docker agar memercayai CA root Harbor

Instance Harbor menggunakan sertifikat Transport Layer Security (TLS) yang diterbitkan oleh Certificate Authority (CA) root tepercaya organisasi Anda. Hal ini mengenkripsi koneksi antara klien Docker dan registry Harbor Anda untuk mengamankan image dari akses yang tidak sah.

Sebelum memulai

Anda harus melakukan langkah-langkah ini sebelum mengelola image penampung:

  1. Instal Docker jika belum diinstal dengan mengikuti petunjuk di https://docs.docker.com/engine/install/ubuntu/. Docker disertakan di Cloud Shell.
  2. Docker memerlukan akses istimewa untuk berinteraksi dengan registry. Di Linux atau Windows, tambahkan pengguna yang Anda gunakan untuk menjalankan perintah Docker ke grup keamanan Docker. Langkah ini tidak diperlukan di macOS karena Docker Desktop berjalan di mesin virtual sebagai pengguna root.

    1. Untuk Linux, tambahkan pengguna:

        sudo usermod -a -G docker USER
      
    2. Untuk Windows:

        net localgroup docker-users DOMAIN\USER /add
      

      Ganti USER dengan nama pengguna yang ingin Anda tambahkan.

Mengonfigurasi Docker agar memercayai CA Root Harbor

Anda harus mengonfigurasi klien Docker lokal agar memercayai CA root organisasi Anda saat menggunakan klien Docker untuk berkomunikasi dengan instance Harbor.

Untuk mengonfigurasi klien Docker agar memercayai CA root, minta file .crt CA root dari administrator organisasi Anda, lalu salin CA root organisasi ke:

/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt

Ganti HARBOR_INSTANCE_URL dengan URL instance Harbor Anda. Contoh, harbor-1.org-1.zone1.google.gdc.test.

Perintah ini memungkinkan klien Docker Anda membuat koneksi HTTPS dengan instance Harbor.

Atau, gunakan gdcloud CLI untuk login ke cluster pengguna mana pun di organisasi, dan salin CA web yang disimpan di cluster:

  export REGISTRY=HARBOR_INSTANCE_URL
  mkdir -p /etc/docker/certs.d/${REGISTRY} && \echo $(kubectl get secret org-web-ca -n istio-system -o
  jsonpath='{.data.ca\.crt}') | openssl base64 -A -d >
  /etc/docker/certs.d/${REGISTRY}/ca.crt

Ganti HARBOR_INSTANCE_URL dengan URL instance Harbor Anda. Contoh, harbor-1.org-1.zone1.google.gdc.test.

Jika konfigurasi tidak berhasil, Anda akan melihat pesan error berikut:

Error response from daemon: Get "https://<HARBOR_INSTANCE_URL>": x509: certificate signed by unknown authority

Ulangi langkah-langkah untuk mengatasi masalah ini, dan eskalasikan ke tim engineering GDC jika perlu.