若要使用 Docker 處理登錄中的容器映像,請將登錄憑證新增至 Docker 用戶端。該憑證用於在登錄登入期間向 Docker 進行驗證。

將 Docker 用戶端設定為與容器登錄 (例如 Harbor 登錄或 Docker Hub) 進行互動。此範例假定您使用的是 Harbor 主管服務

必要條件

此工作假設您使用的是安裝了 Docker 精靈的 Linux 主機 (Ubuntu)。若要在 Ubuntu 主機上安裝 Docker 引擎 (精靈),請參閱 https://docs.docker.com/engine/install/ubuntu/

若要確認 Docker 是否已安裝以及是否可以從 Docker Hub 提取映像,請執行下列命令:
docker run hello-world
預期的結果:
Hello from Docker!
This message shows that your installation appears to be working correctly.
備註: 將使用 Ubuntu 20.04 和 Docker 19.03 驗證這些指示。

程序

  1. 登入 Harbor 登錄。
  2. 選取管理 > 組態 > 登錄根憑證
  3. 按一下下載以下載名為 ca.crt 的 Harbor 登錄憑證。
    備註: 如有必要,將憑證的名稱變更為 ca.crt
  4. 安全地將 ca.crt 檔案複製到 Docker 主機用戶端。
  5. 在 Docker 主機上,使用 Harbor IP 位址建立私人登錄的目錄路徑。
    /etc/docker/certs.d/IP-address-or-FQDN-of-harbor/
    例如:
    mkdir /etc/docker/certs.d/10.179.145.77
  6. ca.crt 移至此目錄。
    例如:
     mv ca.crt /etc/docker/certs.d/10.179.145.77/ca.crt
  7. 重新啟動 Docker 精靈。
    sudo systemctl restart docker.service
  8. 使用 Docker 用戶端登入內嵌式 Harbor 登錄。
    docker login https://10.179.145.77
    您應該會看到下列訊息:
    WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded