이번 글에서는 컨테이너 보관창고(Registry)에 대해 알아보겠습니다.
서버에서 CLI를 통해 도커허브에서 httpd 이미지를 찾을 수 있습니다.
docker search httpd
찾은 httpd 이미지를 다운받아보겠습니다.
docker pull httpd
그리고 이 다운로드 받은 이미지를 제 도커허브 계정의 Registry에 올릴 수도 있습니다. 그 전에 로그인을 진행해하겠습니다.
doceker login
별도의 로그아웃을 진행하지 않았다면 계속해서 로그인상태로 저장되어 있습니다. 해당 내용은 /home/donguk/.docker/config.json. 파일에 이런 내용이 적혀져 있는데요, 해당 파일을 들여다보면 인증 기록이 남아 있는 걸 확인할 수 있습니다.
이제 이 httpd 이미지를 제 도커허브 계정의 Public Registry에 올려보겠습니다. 그 전에, 이 이미지 파일의 이름을 변경해야합니다. 지난 글에서도 봤지만 계정의 보관소에 올리기 위해서는 명령어를 통해 이미지의 이름 앞에 계정이름을 붙여야 합니다.
docker tag httpd:latest jdk96/httpd:latest
그리고 보관소로 올려보겠습니다. 올라간 이미지는 Public Registry에 존재하기 때문에 누구나 접근 가능하고 설치를 할 수 있습니다.
docker push jdk96/httpd:latest
이제 Private Registry를 이용해보겠습니다. 그러기 위해서는 도커 사에서 만든 registry라는 이미지를 다운로드 받아야 합니다. 도커허브 사이트에 가서 이 이미지를 살펴보면 아래의 명령어를 제공합니다.
docker run -d -p 5000:5000 --restart always --name registry registry:2
그리고 현재 실행중인 컨테이너를 확인해보면 이 이미지가 띄워져 있는 걸 볼 수 있습니다.
모든 준비가 끝났으니 httpd 이미지를 제 Private Registry에 올려보겠습니다. 그러기 위해서는 httpd 이미지의 이름을 다시 한 번 변경해주어야 합니다. 이 때, 앞에 주소가 붙은 것은 해당 주소의 서버에 이미지를 올린다는 의미입니다.
docker tag httpd:latest localhost:5000/httpd:latest
그리고 이 이미지명으로 Private Registry에 올립니다.
docker push localhost:5000/httpd:lates
그럼 서버에 이미지가 저장되었는지 확인해볼텐데요, 아래 경로 이하에 저장되어 있습니다.
다음 글에서는 컨테이너 실행과 관리에 대해 알아보겠습니다.