728x90
728x90
애저(Azure)를 이용하여 도커(Docker)를 구축하고, 도커 이미지를 다른 사람과 공유하여 사용해보기
들어가며
- 애저(Azure)를 이용하여 구축한 도커(Docker)에서 도커 이미지를 다른 사람과 공유하여 사용해보는 방법에 대해 알아보자.
- 이 글은 이전 글(https://dev-astra.tistory.com/392)에 이어서 진행된다.
실습하기
시나리오 : 도커 이미지를 회사 안의 다른 사람과 공유하여 사용해보기
- 회사 안에 서버를 만든다.
- 이 서버는 Local Docker Registry 역할을 한다. 이 서버에 도커 이미지를 업로드한다.
- 필요한 경우, 팀원들은 이 서버에 접속해서 필요한 파일들을 다운로드 받을 수 있다.
- 클라우드를 이용한다.
- 방법 ①
- 도커 이미지를 Docker Hub 사이트(https://hub.docker.com/)에 업로드 한다.
- 팀원들이 Docker Hub 사이트에서 도커 이미지를 다운로드 받아 사용한다.
- 방법 ②
- 애저(Azure)의 ACR(Azure Container Registry)에 업로드 한다. (AKS(Azure Kubernetes Service))
- 팀원들이 해당 ACR에서 도커 이미지를 다운로드 받아 사용한다.
- 방법 ①
(참고) Local Registry vs. Local Repository
- Local Registry : 로컬 도커를 저장할 수 있는 시스템의 이름
- Local Repository : 로컬 도커를 저장하는 저장 공간의 이름
실습 ① : 회사 안에 서버를 만든다.
- 다음 명령을 실행하여
registry
라는 도커 이미지를 불러와서registry
라는 컨테이너를 생성한다. 그리고 현재 도커에서 실행 중인 컨테이너와 존재하는 이미지들을 확인한다.-d
옵션을 사용하여 데몬 모드로 작동시킨다.-p
옵션을 사용하여 포트를 지정한다. 들어오는 포트, 나가는 포트를5000
으로 설정한다.--name
옵션을 이용하여 컨테이너의 이름을registry
로 설정한다.
$ docker run -d -p 5000:5000 --name registry registry
$ docker ps
$ docker images

- 다음과 같이 파이프(
|
)와grep
명령어를 이용한 명령을 실행하여 특정한 이름의 이미지만 찾을 수 있다.
$ docker images | grep my-image

- 다음 명령을 실행하여
my-image:v1.0.0
을localhost:5000/my-image:v1.0.0
로 연결 시켜준다.
$ docker tag my-image:v1.0.0 localhost:5000/my-image:v1.0.0
- 다음 명령을 실행하여 생성한
Registry
서버에 도커 이미지를 넣어본다. 이 명령을 실행하면my-image:v1.0.0
이localhost
로 푸시된다.- 다른 사람들은 이 서버(
Registry
)에서 이미지를 가져와 사용할 수 있다. - 하지만, 이 방법은 잘 사용되지 않는다. 왜냐하면 서버가 죽으면 그 피해가 크기 때문이다.
- 다른 사람들은 이 서버(
$ docker push localhost:5000/my-image:v1.0.0

- 다음 명령들을 실행하여 테스트 해본다.
curl
명령어는 인터넷 통신을 아주 심플하게 할 수 있는 리눅스/유닉스 명령어이다.GET
방식으로 해당 주소에 요청한다.
$ curl -X GET http://localhost:5000/v2/_catalog
$ curl -X GET http://localhost:5000/v2/my-image/tags/list

실습 ② : 클라우드를 이용한다. (Docker Hub)
- 도커 허브(Docker Hub) 사이트에 도커 이미지를 업로드해보자.
Docker Hub Container Image Library | App Containerization
Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.
hub.docker.com
- 도커 허브 사이트에 접속한 후, 회원 가입을 하고 로그인을 한다.

- 다음 명령을 실행하여 도커 허브에 접속한다. 도커 허브에서 회원 가입했을 때 사용했던 아이디(
Username
)와 비밀번호(Password
)를 입력해준다.
$ docker login

- 다음 명령을 실행하여 로컬에 있는
my-image:v1.0.0
이미지를 도커 허브devastra
계정의my-image:v1.0.0
으로 연결시켜준다.
$ docker tag my-image:v1.0.0 devastra/my-image:v1.0.0

- 그리고 다음 명령을 실행하여 로컬의 도커 이미지(
my-image:v1.0.0
)를 도커 허브로 푸시(Push) 해준다.
$ docker push devastra/my-image:v1.0.0

- 다음 명령을 실행하여 현재 도커에 실행 중인 이미지를 확인해본다.
devastra/my-image
(도커 허브에 올린 이미지 파일),my-image
(로컬에 있는 이미지 파일),localhost:500/my-image
(로컬 서버에 올린 이미지 파일) 모두IMAGE ID
가 동일하다. 즉 모두 똑같은 이미지 파일임을 확인할 수 있다.
$ docker images

- 도커 허브 사이트에 가서
[새로 고침]
버튼을 누르면, 다음과 같이 로컬에서 푸시한 도커 이미지 파일을 확인할 수 있다.
![]() |
![]() |
[Public View]
버튼을 누르면Pull
명령어를 확인할 수 있다. 이 주소를 이용하여 로컬에서 업로드 한 도커 이미지를 다른 사람과 공유할 수 있다.
![]() |
![]() |
실습 ③ : 클라우드를 이용한다. (애저(Azure)의 ACR(Azure Container Registry))
- 아래의 게시글을 참고한다.

참고 사이트
도커 공식 문서
Docker Docs: How to build, share, and run applications
docs.docker.com
728x90
728x90
'DevOps > Azure' 카테고리의 다른 글
[Azure] Azure Machine Learning Service 사용해보기 : Designer (0) | 2023.05.31 |
---|---|
[Azure] 쿠버네티스(Kubernetes) 실습하기 : AKS(Azure Kubernetes Service) 실습 (0) | 2023.05.30 |
[Azure] 쿠버네티스(Kubernetes) 실습하기 : 간단한 실습 해보기 (0) | 2023.05.29 |
[Azure] 쿠버네티스(Kubernetes) 실습하기 : 미니쿠베(minikube) 설치하기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : Dockerfile을 이용하여 직접 도커 이미지를 만들고 컨테이너 만들어보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 간단한 실습 해보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 도커 설치하기 (0) | 2023.05.27 |
[Azure] 파이썬(Python)을 사용하여 데이터베이스 쿼리 실습하기 (0) | 2023.05.24 |