X509 Certificate Signed by Unknown Authority
Error response from daemon: Get https://registry.domain.com/v2/: x509: certificate signed by unknown authority
μκ°λ³΄λ€ λ§μ μ‘°μ§μμ μ¬λ΄ μ μ± μ΄λ λ컀 νλΈμ λ€μ΄λ‘λ μ νλμ κ²½ννκ³ λ컀μμ μ 곡νλ λ μ§μ€νΈλ¦¬ μ΄λ―Έμ§λ‘ μ¬μ€ λ컀 λ μ§μ€νΈλ¦¬ μλ²λ₯Ό ꡬμΆνλ κ² κ°μ΅λλ€. μ μ€λ₯λ λ컀 λ μ§μ€νΈλ¦¬ μλ²μ λ‘κ·ΈμΈμ μλν λ λνλ μ μμ΅λλ€. μ°λ¦¬κ° μ¬μ©νλ λ컀 μμ§μ΄λΌκ³ νλ ν΄λΌμ΄μΈνΈκ° λ컀 λ μ§μ€νΈλ¦¬ μλ²κ° μ λ¬ν΄μ€ μΈμ¦μλ₯Ό μ λ’°ν μ μλ€λ μλ―Έμ λλ€. κ·Έλ¬λ©΄ μμ κ°μ΄ λ΄ μ»΄ν¨ν°μ μ€μΉλ λ컀 μμ§μμ μ¬μ€λ‘ ꡬμΆν λ컀 λ μ§μ€νΈλ¦¬ μλ²μ μΈμ¦μλ₯Ό μ λ’°ν μ μλ λ¬Έμ κ° λ°μνλ©΄ μ΄λ»κ² ν΄κ²°νλμ§λ₯Ό μμ보λλ‘ νμ£ .
λ컀 λ μ§μ€νΈλ¦¬ μΈμ¦μ
λ컀 μμ§μμ μ°Έμ‘°νλ λ μ§μ€νΈλ¦¬ μλ²μ λν μΈμ¦μ ν΄λλ certs.d μ λλ€.
- Windows: C:/ProgramData/Docker/certs.d/
- Linux: /etc/docker/certs.d/
- Mac: ~/.docker/certs.d/
/etc/docker/certs.d/ <-- Certificate directory
βββ registry.domain.com:5000 <-- Hostname:port
βββ client.cert <-- Client certificate
βββ client.key <-- Client key
βββ ca.crt <-- Certificate authority that signed the registry certificate
μμ νμ§ μμ λ μ§μ€νΈλ¦¬
HTTPSλ‘ μ€νλ λ컀 λ μ§μ€νΈλ¦¬ μλ²μ λν΄μ λ컀 μμ§μ΄ μ λ’°ν μ μλ μΈμ¦μλ₯Ό 무μνλλ‘ insecure-registriesμ΅μ μ μ§μ ν μ μμ΅λλ€. λ€λ§, μ΄ λ°©λ²μ ν΄λΉ λλ©μΈ μ£Όμμ λ μ§μ€νΈλ¦¬ μλ²κ° μ¬λ°λ₯Έ μΈμ¦μλ₯Ό μ¬μ©νλμ§ κ²μ¦νμ§ μκΈ° λλ¬Έμ 보μμ μΈ λΆλΆμ μκ°νλ€λ©΄ μΌλ°μ μΌλ‘ μ¬μ©ν΄μλ μλλ λ°©λ²μ λλ€.
μ λ’°ν μ μλ μΈμ¦ κΈ°κ΄
λ컀 μμ§μ κΈ°λ³Έμ μΌλ‘ μμ€ν
μ λ±λ‘λ μ λ’°ν μ μλ μΈμ¦ κΈ°κ΄μ μΈμ¦μ λͺ©λ‘μΌλ‘ λ컀 λ μ§μ€νΈλ¦¬ μλ²μ ν΄λΌμ΄μΈνΈ μΈμ¦μλ₯Ό κ²μ¦ν©λλ€. μ΄λ ν¬λ‘¬κ³Ό κ°μ λΈλΌμ°μ μμ HTTPS ν΅μ μ μλ²μμ μ λ¬νλ μΈμ¦μκ° μ ν¨νμ§λ₯Ό νμΈνλ κ²κ³Ό λ€λ₯΄μ§ μμ΅λλ€. μ λ μ λ’°ν μ μλ μΈμ¦ κΈ°κ΄μΌλ‘λΆν° λ°κΈλ°μ λλ©μΈ μΈμ¦μλ₯Ό μ¬μ©νμ¬ λ컀 λ μ§μ€νΈλ¦¬ μλ²λ₯Ό ꡬμΆνμλλ°λ λΆκ΅¬νκ³ λ컀 μμ§μμλ νμ¬ λλ©μΈ μ£Όμλ‘λ λ컀 λ μ§μ€νΈλ¦¬ μλ²μμ μ λ¬λ μΈμ¦μκ° μ¬λ°λ₯΄μ§ μλ€λ©° λμΌνκ² x509: certificate signed by unknown authority
μ€λ₯λ₯Ό μλ €μ£Όμμ΅λλ€.
CA μΈμ¦μ 체μΈ
λ컀 μμ§μμ λ μ§μ€νΈλ¦¬ μλ²μ μΈμ¦μλ₯Ό μ λ’°ν μ μλ€λ κ²μ λͺκ°μ§ μ¬νμ λν μλ―Έλ₯Ό κ°μ§ μ μμ΅λλ€. 첫λ²μ§Έλ‘, λ컀 λ μ§μ€νΈλ¦¬ μλ² κ΅¬μΆ μ μ¬μ©ν CA μΈμ¦μκ° ν΄λΌμ΄μΈνΈ μΈμ¦μμ μΈμ¦ κΈ°κ΄λ€μ λν μΈμ¦μκ° μ°κ²°λ CA μΈμ¦μ 체μΈμ΄ μλ μ μλ€λ κ²μ λλ€. μ€μ λ‘ μ§κΈμ UI κΈ°λ°μ μ¬μ©μ λ° μ΄λ―Έμ§ κ΄λ¦¬λ₯Ό μν΄ Harborλ‘ λ컀 λ μ§μ€νΈλ¦¬ μλ²λ₯Ό μ¬κ΅¬μΆνμμΌλ κΈ°μ‘΄ λ컀 λ μ§μ€νΈλ¦¬ μλ²μ μ¬μ©λ CA μΈμ¦μ νμΌμλ ν΄λΌμ΄μΈνΈ μΈμ¦μλ§ μ‘΄μ¬νλ λ¬Έμ κ° μμμ΅λλ€. κ·Έλμ μ‘°μ§ λ΄ κ°λ°μλ€μκ² λ μ§μ€νΈλ¦¬ μλ²μμ μ¬μ©λ CA μΈμ¦μ νμΌκ³Ό ν΄λΌμ΄μΈνΈ μΈμ¦μ λ° ν€λ₯Ό μ λ¬νκ³ λ컀 λ μ§μ€νΈλ¦¬ μΈμ¦μ ν΄λμ μ μ₯νμ¬ μ¬μ©ν΄λ¬λΌκ³ μλ΄νμμ΅λλ€. κ²°κ΅μ λ컀 μμ§μ΄ λ컀 λ μ§μ€νΈλ¦¬ μλ²λ₯Ό μ λ’°ν μ μμΌλ―λ‘ CA μΈμ¦μ 체μΈμ μ λ’°ν μ μλ μΈμ¦μ λͺ©λ‘μ ν¬ν¨μν€λ©΄ λ©λλ€.
μλ₯Ό λ€μ΄, Macμ© ν€μ²΄μΈ μ κ·Όμ μ¬μ©νμ¬ ν€μ²΄μΈμ μΈμ¦μ μΆκ°νκΈ°μ λ°λΌ CA μΈμ¦μλ₯Ό μΆκ°νλ©΄ λ€μκ³Ό κ°μ΄ μ ν¨ν μΈμ¦μμμ΄ νμλ¨μ νμΈν μ μμμ΅λλ€.
docker login registry.domain.com -u 'username' -p 'password'
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
λ컀 λ μ§μ€νΈλ¦¬ μλ²μ CA μΈμ¦μ 체μΈμ μμ€ν μΈμ¦μλ‘ λ±λ‘νκ³ λμλ λ컀 μμ§μ΄ μ λ’°ν μ μλ μΈμ¦μ λͺ©λ‘μ λ°λΌ μΈμ¦μκ° μ ν¨ν¨μ νμΈν¨μΌλ‘ μ μμ μΌλ‘ HTTPS ν΅μ μ΄ μ΄λ£¨μ΄μ§κ³ λ‘κ·ΈμΈμ μ±κ³΅νμμ΅λλ€. λ μ§μ€νΈλ¦¬ μλ²μ λν λ‘κ·ΈμΈ μμμ΄λ―λ‘ CLI κ²½κ³ λ¬Έκ΅¬λ 무μν΄μ£ΌμΈμ.
μμ€ν λ° μ¬μ©μ μ μ CA μΈμ¦μ λ³ν©
On Linux any root certificates authorities are merged with the system defaults, including the hostβs root CA set. If you are running Docker on Windows Server, or Docker Desktop for Windows with Windows containers, the system default certificates are only used when no custom root certificates are configured.
곡μλ¬Έμμ λ°λ₯΄λ©΄ μμ κ°μ΄ μ¬μ©μ μ μ μΈμ¦μ(certs.d)λ μμ€ν μΈμ¦μμ CA μΈμ¦μκ° ν©μ³μ Έμ λ±λ‘λλ€λ λ΄μ©μ΄ μμ΅λλ€. λ°λΌμ, λ컀 λ μ§μ€νΈλ¦¬ μλ²μ CA μΈμ¦μ 체μΈμ μμ€ν μΈμ¦μ λͺ©λ‘μ΄λ certs.d ν΄λμ λλ©΄ λλ€λ μ΄μΌκΈ°μ λλ€. μ€μ λ‘ μμ€ν μΈμ¦μλ‘ λ±λ‘νμ§ μμλ certs.d ν΄λμ ca.crtλΌλ μ΄λ¦μΌλ‘ CA μΈμ¦μ 체μΈμ λκ²λλ©΄ λμΌνκ² λμν¨μ νμΈν μ μμμ΅λλ€.
νκ°μ§ ν₯λ―Έλ‘μ΄ μ μ μ΄ κΈμ μμ±νκΈ° μν΄ Docker Desktop for Windows μμλ ν μ€νΈλ₯Ό ν΄λ³Έ κ²°κ³Ό λ컀 λ μ§μ€νΈλ¦¬ μλ²μ CA μΈμ¦μ 체μΈμ κ΅³μ΄ λ±λ‘νμ§ μμλ μ μμ μΌλ‘ λ‘κ·ΈμΈμ΄ λμλ€λ μ μ λλ€. μ΄μ μΌλ‘ 보μμλ λͺ¨λ μ΄μ체μ μμ λμΌνκ² λμνμ§λ μλ κ² κ°μ보μ λλ€. λ°λΌμ, λ컀 μμ§μμ λ μ§μ€νΈλ¦¬ μλ²λ₯Ό μ λ’°ν μ μλ€κ³ νλ€λ©΄ λ μ§μ€νΈλ¦¬ μλ² κ΄λ¦¬μμκ² μΈμ¦μ 체μΈμ μ λ¬λ°μμ λ±λ‘νλκ² μ’μ κ² κ°μ΅λλ€.
κ°μ¬ν©λλ€.