IT/DevOps

[Docker] Application 공유하기: Docker registry, Docker Hub

kykyky 2024. 2. 5. 05:58

이전 글 👇

 

2024.02.05 - [IT/DevOps] - [Docker] Application 업데이트하기

 

[Docker] Application 업데이트하기

이전 글 👇 2024.02.04 - [IT/DevOps] - [Docker] Overview, Containerize an application [Docker] Overview, Containerize an application Overview Docker는 우리가 만드려는 Application을 우리의 infrastructure(e.g. 호스트 컴퓨터?)로부터

intoky.tistory.com

 

 

 


 

Share the application


 

 

✅ 큰 그림 

 

출처: https://medium.com/@abhishek.kumar_81355/fundamental-of-the-docker-d0e143ef70a

 

 

✅Docker Hub에서 새 repository 만들기

repository 이름은 getting-started으로, visibility는 public으로 설정하세요.

 

 

✅Docker Hub에 로그인하기

docker login -u <Docker Hub 사용자 이름>

 

 

✅Image에 새 이름 주기

Image Push 전에, docker tag를 이용해 이름을 변경해줘야 합니다.

 

<Docker Hub 사용자 이름>이라는 이름의 repository에 push할 것이기 때문에, 

<Docker Hub 사용자 이름>/getting-started로 바꾸어야 합니다. 

docker tag getting-started <Docker Hub 사용자 이름>/getting-started

 

 

✅Image를 Push하기

비로소 Push가 가능해졌습니다.

 

docker push <Docker Hub 사용자 이름>/getting-started

 

 

✅새 환경에서 Container 실행하기

우리가 지금껏 위의 과정을 통해 Docker Hub에 Image를 올려놓은 궁극적 목적은,

완전히 새로운 환경에서도 우리의 App을 온전히 실행할 수 있게 하는 것이었습니다.

 

따라서, Image의 Push가 끝난 지금, 우리는 당연히 이 Image를 새 환경에 가져와서 (= Pull), Container를 시작해 (= Run) App을 실행해봐야겠지요.

 

※ Pull + Run이 아니라, Run만 해도 됩니다.

∵ Run 실행 시, 현재 환경에 Pull 되어있지 않은 Image라면, 우선 자동으로 Pull부터 한 다음 Run을 해주기 때문입니다. 

즉 Run 명령어가 알아서 (필요 시) Pull도 미리 해줍니다.

 

 

저는 제 가상머신에서 해 볼 것입니다.

 

아래 명령어를 통해 Run을 함으로써 Container를 시작합시다.

docker run -dp 0.0.0.0:3000:3000 <Docker Hub 사용자 이름>/getting-started

  

 

그럼 아래와 같이 뜨더군요

 

 

그리고 브라우저에서 localhost:3000을 접속해보면, 우리의 Application이 잘 실행되는 것을 확인할 수 있습니다! 

즉, 아무 것도 세팅하지 않은 제 황무지 가상머신에서도, Docker Hub를 통해 Container 시작만 해준다면, Application이 돌아간다는 것이죠~!

   


 

감사합니다~!