Docker 레지스트리를 생성하고 사용하는 방법
Docker 레지스트리는 Docker 이미지를 저장하고 공유하기 위한 저장소입니다.
1. Docker 레지스트리 컨테이너 생성
Docker 레지스트리를 운영하기 위해 레지스트리 컨테이너를 생성합니다. Docker Hub에서 제공하는 공식 이미지를 사용하면 간편하게 레지스트리를 구성할 수 있습니다.
docker run -d -p 5000:5000 --name my_registry registry:2
위의 명령어는 registry:2 이미지를 이용하여 my_registry라는 이름의 Docker 컨테이너를 생성하고 포트 5000을 호스트와 컨테이너 간에 맵핑합니다. 이렇게 하면 Docker 레지스트리가 실행되며, 포트 5000으로 접근할 수 있습니다.
2. Docker 이미지를 레지스트리에 푸시
이제 Docker 이미지를 레지스트리에 푸시하여 레지스트리에 저장합니다.
docker tag [이미지명]:[태그] localhost:5000/[이미지명]:[태그]
docker push localhost:5000/[이미지명]:[태그]
위의 명령어에서 [이미지명]과 [태그]는 푸시하려는 Docker 이미지의 이름과 태그를 대체해야 합니다. 예를 들어, my_image:latest라는 이미지를 레지스트리에 푸시하려면 다음과 같이 실행합니다.
docker tag my_image:latest localhost:5000/my_image:latest
docker push localhost:5000/my_image:latest
3. Docker 레지스트리 목록 보기
Docker 레지스트리에 등록된 이미지 목록을 보려면 다음 명령어를 사용합니다.
docker search [이미지명]
이 명령어는 Docker Hub와 같은 공개적인 레지스트리에서 이미지를 검색합니다. 레지스트리를 직접 운영 중이거나 로컬 레지스트리를 사용하는 경우 해당 레지스트리의 주소를 사용하여 검색할 수 있습니다.
4. Docker 이미지를 레지스트리에서 풀 (Pull) 받기
Docker 이미지를 레지스트리에서 다른 호스트나 컨테이너로 풀 (Pull) 받기 위해서는 다음과 같이 실행합니다.
docker pull localhost:5000/[이미지명]:[태그]
위의 명령어에서 [이미지명]과 [태그]는 풀 받으려는 Docker 이미지의 이름과 태그를 대체해야 합니다. 예를 들어, 앞서 푸시한 my_image:latest 이미지를 레지스트리에서 풀 받으려면 다음과 같이 실행합니다.
5. Docker 리포지토리 삭제
Docker 레지스트리에 이미지를 삭제하려면 먼저 로컬 시스템에서 해당 이미지를 삭제한 다음, 레지스트리에 있는 이미지를 삭제합니다. 이미지를 삭제할 때는 docker rmi 명령어를 사용합니다.
docker rmi [레지스트리 주소]/[이미지명]:[태그]
위의 명령어는 로컬 시스템에서 이미지를 삭제합니다. 레지스트리에서도 해당 이미지를 삭제하려면 레지스트리 관리자 권한이 필요합니다. 일반적으로 Docker 레지스트리에 대한 관리 기능은 Docker Compose 또는 관리자 인터페이스를 통해 수행됩니다.
이제 개인 Docker 레지스트리를 생성하고 사용할 준비가 끝났습니다. 다른 호스트 또는 컨테이너에서도 동일한 방법으로 레지스트리에 접근하여 이미지를 푸시하고 풀 받을 수 있습니다. 단, 다른 호스트에서 레지스트리에 접근할 때는 호스트의 IP 주소나 도메인을 사용해야 합니다.
'리눅스' 카테고리의 다른 글
일반 사용자가 1024 이하의 포트를 사용하여 서비스를 올리기 (0) | 2023.08.09 |
---|---|
GlusterFS를 설치하고 사용하는 방법 (0) | 2023.07.29 |
리눅스 메모리 스와핑 (0) | 2023.07.29 |
GoAccess를 설치하고 설정하는 방법 (0) | 2023.07.29 |
Nginx와 Tomcat을 클러스터링하여 고가용성과 부하 분산을 구현하는 방법 (0) | 2023.07.29 |