본문 바로가기

System/Docker

도커(Docker) 이미지를 레지스트리(Registry)에 업로드

반응형

Docker 이미지 빌드를 통해서 원하는 이미지를 만들 수 있습니다.

아래 링크의 내용을 통해 이미지 빌드부터 컨테이너로 생성하는 내용을 확인할 수 있습니다.

2017/09/28 - [System/Docker] - Dockerfile로 도커(Docker) 이미지 빌드 및 컨테이너 생성 기초

생성된 이미지는 저장소(Repository)에 업로드하면 어디서든 가져다 쓸 수 있습니다.

이미지를 올리는 작업은 push로, 받아오는 작업은 pull 명령어로 가능합니다.

GitHub와 거의 유사한 형태이기 때문에 이해가 어렵지 않습니다.

이미지들이 저장되는 저장소들의 집합이 Docker 레지스트리입니다.

Docker는 기본적으로 퍼블릭 레지스트리를 제공하는데 여기에 이미지를 올리는 방법입니다.


1. 이미지 태그 생성

먼저 Docker 계정이 없다면 먼저 아래 링크에서 계정을 생성합니다.

https://cloud.docker.com/

Docker의 login 명령어를 통해 생성한 계정으로 로그인합니다.

sudo docker login

레지스트리에 이미지를 올릴 때는 username/repository:tag 형태로 표기합니다.

버전을 명확하게 관리하기 위해 태그(tag)를 원하는 내용으로 입력하면 됩니다.

명령어는 docker tag image username/repository:tag 형태로 입력합니다.

이전에 생성한 friendlyhello 이미지를 위해 다음과 같이 태그를 생성합니다.

sudo docker tag friendlyhello username/helloserver:1.0

명령어의 username 부분에는 실제 계정의 아이디를 입력하면 됩니다.

이미지 목록을 확인하면 생성한 태그가 목록에서 확인됩니다.

sudo docker images

이제 생성된 이미지를 저장소에 업로드하면 됩니다.


2. 저장소에 이미지 업로드(push) 및 다운로드(pull)

태깅된 이미지를 저장소에 업로드할 때는 push 명령어를 사용합니다.

sudo docker push username/helloserver:1.0

정상적으로 업로드가 되면 아래 Docker Hub에서 로그인하면 새로 추가한 이미지를 확인할 수 있습니다.

https://hub.docker.com/

태그 목록도 확인할 수 있는데 버전 관리를 수월하게 해줍니다.

정상적으로 저장소에 올라갔으면 다른 장비에서 아래 명령어로 바로 컨테이너를 생성할 수 있습니다.

sudo docker run -d -p 4000:80 username/helloserver:1.0

만에 별도로 테스트가 가능한 추가 장비가 없다면 아래 명령어로 이미지를 먼저 지우고 테스트가 가능합니다.

docker image rm <image id>

컨테이너가 생성되고 웹서버에 연결되면 모든 것이 정상적으로 진행된 것입니다.

이것으로 Docker를 통해 어디서든 컨테이너를 생성해서 사용할 수 있는 것을 확인할 수 있습니다.

반응형