| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- ingressrules
- 인그래스컨트롤러
- timesynchronization
- 이미지풀시크릿생성
- 프라이빗레지스트리
- 쿠버네티스 구조
- 컨테이너런타임 재시작
- createvsapply
- chrony
- 쿠버네티스
- kubernetes
- 포트추적
- 도커프라이빗레지스트리
- 여러 레지스트리를 하나의 시크릿으로 묶고
- 쿠버네티스 인그래스 컨트롤러 구성 예시
- 인증서설치후 런타임 재시작
- ingressservice
- ingress
- servicemesh
- kubectl
- networktimeprotocol
- ingresscontroller
- 원격서버지원
- clustermanagement
- apply
- 노드포트
- 인그래스
- nodeport
- servertimesync
- k8s
- Today
- Total
madebychung
did(docker in docker) 사설 레지스트리 본문
**Docker-in-Docker(DID)**는 하나의 Docker 컨테이너 안에서 또 다른 Docker 데몬을 실행하는 방식으로, 주로 테스트 및 CI/CD 환경에서 사용됩니다. 이 환경에서 사설 Docker 레지스트리를 설정하면 내부적으로 Docker 이미지를 저장하고 배포할 수 있습니다. 하지만 네트워크 및 자원 격리 문제가 발생할 수 있으므로 주의가 필요합니다. 이 글에서는 Docker-in-Docker 환경에서 사설 레지스트리를 구성하는 방법을 설명합니다.
1. Docker-in-Docker 환경 설정
Docker-in-Docker 환경에서는 컨테이너 내에서 Docker 데몬을 실행해야 합니다. 다음과 같은 방식으로 Docker 컨테이너를 실행할 수 있습니다.
실행 명령:
여기서 --privileged 플래그는 컨테이너가 호스트의 커널 리소스에 접근할 수 있도록 합니다. 이 컨테이너 내에서 Docker 데몬을 실행할 수 있으며, 이를 기반으로 사설 레지스트리를 설정하게 됩니다.
컨테이너 내부 접속:
위 명령을 통해 컨테이너 내부로 접속하여 레지스트리 설정을 시작할 수 있습니다.
2. 사설 Docker 레지스트리 설정
사설 Docker 레지스트리는 내부적으로 Docker 이미지를 저장하고 배포하는 역할을 합니다. 이를 위해 Docker 레지스트리 이미지를 사용하여 설정할 수 있습니다.
2.1. 필수 패키지 설치
먼저, 레지스트리를 실행하기 위해 필요한 패키지를 설치합니다.
패키지 설치 명령:
이 명령어들은 레지스트리 설정에 필요한 도구와 Docker 데몬을 백그라운드에서 실행시킵니다.
2.2. 레지스트리 컨테이너 실행
사설 레지스트리 컨테이너를 다음 명령어로 실행합니다:
- -p 2020:2020: 호스트의 포트 2020을 컨테이너의 2020번 포트로 매핑합니다.
- --name registry: 레지스트리 컨테이너의 이름을 registry로 지정합니다.
이로써 레지스트리 컨테이너가 실행되며, 내부적으로 Docker 이미지를 저장할 수 있는 사설 레지스트리가 설정됩니다.
3. 사설 레지스트리 연결 테스트
컨테이너 내부와 호스트에서 레지스트리가 제대로 동작하는지 확인하기 위해 curl 명령을 사용하여 레지스트리 상태를 확인할 수 있습니다.
3.1. 컨테이너 내부에서 연결 테스트
위 명령을 통해 사설 레지스트리에서 저장된 이미지 목록을 가져올 수 있습니다. 성공 시 아래와 같은 출력이 나타납니다:
3.2. 호스트에서 연결 테스트
호스트 시스템에서도 레지스트리가 정상적으로 동작하는지 확인합니다.
여기서 <호스트_IP>는 호스트의 실제 IP 주소로 변경해야 합니다. 출력 결과는 다음과 같아야 합니다:
이로써 사설 Docker 레지스트리가 호스트와 컨테이너 모두에서 정상적으로 동작하는 것을 확인할 수 있습니다.
결론
Docker-in-Docker 환경에서 사설 레지스트리를 구성하는 방법은 내부적으로 Docker 이미지를 저장하고 관리하는 데 매우 유용합니다. 네트워크 설정 및 필요한 패키지를 설치한 후 레지스트리를 실행하고, 호스트와 컨테이너 간에 정상적으로 연결되었는지 확인하는 과정이 포함됩니다. 이 구성을 통해 CI/CD 환경에서 효율적인 이미지 관리가 가능해집니다.
인증서 관련해서 하면 빡세짐
'registry' 카테고리의 다른 글
| Helm Chart Repository (0) | 2024.07.08 |
|---|---|
| USED HARBOR (0) | 2024.07.08 |
| Habor (Docker) (0) | 2024.07.08 |