MacOS에서 Docker 클라이언트가 사설 Harbor 레지스트리 통신하기 위해서 두 가지 주요 인증서 설정 작업이 필요하다.
1. Docker 전용 인증서 디렉토리에 CA 인증서 추가
mkdir -p ~/.docker/certs.d/192.168.151.109/
cp ca.crt ~/.docker/certs.d/192.168.151.109/
- Docker 클라이언트가 특정 레지스트리와 통신할 때 사용할 인증서 제공
- Docker 애플리케이션에만 국한된 설정
- Docker 자체 인증서 검증 메커니즘에 필요
MacOS는 Docker Desktop을 사용하기 때문에 우분투 환경에서 설정하는 경로와 차이가 있다. 우분투 환경에서 설정 한다면 아래 명령어를 사용해야 한다.
mkdir -p /etc/docker/certs.d/192.168.151.109/
cp ca.crt /etc/docker/certs.d/192.168.151.109/
Docker 공식 문서에서 발췌한 내용은 아래와 같다.

~/.docker/certs.d/<MyRegistry>:<Port>/client.cert 반드시 저 경로에 호스트 이름 디렉토리를 생성해서 지정해야 한다. 포트는 생략 가능하다. 마지막에는 docker restart를 진행해야 한다.
여기까지는 다른 OS도 동일하다. 아래 두번 째 절차는 MacOS에서 반드시 추가해야 한다.
2. macOS 시스템 키체인에 CA 인증서 추가
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca.crt
- Docker for Mac은 macOS의 키체인(Keychain)에서도 인증서를 찾음
- security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ca.crt 명령으로 인증서 추가
- 이 방법은 시스템 전체에 인증서를 신뢰할 수 있게 함
정리
Docker for Mac은 가상 환경에서 실행되므로 리눅스와 인증서 설정 방식이 다르다. 두 가지 설정 모두 적용해야 안정적으로 작동한다.
출처
https://docs.docker.com/desktop/troubleshoot-and-support/faqs/macfaqs/
https://stackoverflow.com/questions/40822912/where-to-add-client-certificates-for-docker-for-mac
https://medium.com/@mcschnei/docker-certificates-and-macos-de30e59238f8
'Programming' 카테고리의 다른 글
Reflection (0) | 2025.04.28 |
---|---|
우분투 Harbor HTTPS 설정을 위한 인증서 생성 (0) | 2025.04.10 |
Layered Architecture (0) | 2025.01.07 |