컨테이너 구성 실습
과제 주제: Private Docker Registry 구축 및 보안 강화
과제 개요
🔹 목표: 사설 Docker Registry를 구축하고, 보안성을 강화하여 안전한 이미지 저장소를 운영할 수 있도록 한다.
🔹 설명: 기업 내부에서 사용하는 Docker 이미지를 안전하게 관리하기 위해 Docker Private Registry를 구축하고, TLS(SSL) 인증 및 접근 제어를 적용하여 보안성을 높이는 실습을 진행한다.
실습 내용
✅ 단계 1: Docker Private Registry 기본 구축
• registry:2 공식 이미지를 활용하여 로컬 Private Registry 컨테이너 실행
• docker tag 및 docker push 명령어를 사용하여 이미지를 Private Registry에 업로드
• docker pull을 통해 저장된 이미지 정상 다운로드 확인
✅ 단계 2: Registry 보안 설정 (TLS/SSL 인증 적용)
• OpenSSL을 사용하여 자체 서명된 SSL 인증서 생성
• 생성한 인증서를 Registry에 적용하여 HTTPS 기반 통신 구성
• curl을 활용하여 TLS 적용 여부 확인
✅ 단계 3: 기본 인증(Basic Authentication) 설정
• htpasswd를 사용하여 사용자 계정을 생성하고 인증 적용
• docker login 명령어를 활용하여 인증 확인
• 인증 없이 접근 시 차단되는지 테스트
✅ 단계 4: Docker 이미지 서명 및 무결성 검증
• Docker Content Trust (DCT) 활성화 및 서명된 이미지 푸시
• 서명되지 않은 이미지 업로드 시도 및 차단 여부 확인
✅ 단계 5: CI/CD 연동 및 자동화 테스트
• GitLab CI/CD와 Private Registry 연동
• .gitlab-ci.yml을 활용하여 CI/CD 파이프라인에서 자동으로 이미지 빌드 및 푸시
활용 툴
💻 필수 도구:
• Docker, Docker Compose
• OpenSSL
• htpasswd
• GitLab CI/CD