반응형
  • Docker Hub에서 컨테이너 이미지 검색
  • 컨테이너 이미지 다운로드 후 image layer 보기
  • 컨테이너 실행하고 확인해보기

 

[도커 데몬이 잘 동작중인지 확인해 보기위해 아래 명령어 실행]

docker version

client와 sever가 잘 나오는 것을 확인할 수 있다. 
따라서, 해당 user는 도커 클라이언트 커맨드도 실행할 수 있고,
현재 docker demon도 잘 동작중이라는 것을 파악 할 수 있다.

 

DockerHub에서 이미지 검색

현재 나의 시스템에 Docker Host가 있다. 그리고 docker demon이 동작 중이다. 

이제 docker search 명령으로 내가 원하는 컨테이너이미지가 도커 허브에 존재하는지 찾도록 요청할 수 있다.

[docker hub에 원하는 컨테이너이미지(nginx가 있는지 검색 요청]

docker search nginx

docker search nginx

NAME, DESCRIPTION, STARS, OFFICIAL, AUTOMATED 로 이루어진 5개의 필드를 통해 검색한 결과를 볼 수 있다.

 

Docker Container Image 다운로드 후 Image Layer 보기

우선, 현재 다운받은 이미지가 있는지 확인해 보자.

docker image ls

docker images

두명령어는 동일한 기능을 수행한다.

docker images/docker image ls

현재 아무런 이미지가 없는 것을 확인했다.

이제, 좀전에 검색해서 확인했던 "nginx" 이미지를 다운받아보자.

docker pull nginx 	# nginx 이미지 다운

총 6개의 layer로 이루어져 있는 것을 다운받으며 확인할 수 있다.

다운받은 nginx의 정보를 확인해 보자.

docker inspect nginx 	# nginx 이미지의 정보 확인

즉,  nginx 이미지가 6개의 layer로 구성되어 있는 것이다. 

 

컨테이너 실행하고 확인해 보기

우선, 이미지를 다시 확인해 보자.

docker image ls

해당 결과는, 내 시스템에 nginx이미지가 142mb 용량으로 저장되어 있음을 알려준다.

그러므로, 이제 실행할 수 있다.

docker run --name web -d -p 80:80 nginx 
# nginx이미지를 run시킬건데, 
#이름은 web이라는 이름으로 컨테이너를 실행하고, 
#-d는 백그라운드 모드로, 
#-p는 포트번호 80번으로

컨테이너 실행

현재 시스템에는 80포트가 열린채로 container ID는 4038... 이라는 유니크한 아이디를 가지고 하나의 컨테이너가 실행되었다. 

docker ps

누구든지, 클라이언트 사용자가 80포트로 접속하면 nginx가 제공하는 웹페이지가 전달된다.

docker ps 	# 현재 동작중인 도커 컨테이너 보기

docker ps

해당 컨테이너가 잘 동작되고 있다.

최종적으로 고객은 80포트로 접속해서 우리의 웹서비스를 요청받아 실행할 수 있다. 

[클라이언트 입장에서 curl 명령으로 80번포트 접속]

curl localhost:80	# 80포트 접속

curl localhost

welcom to nginx! 라는 타이틀의 웹페이지가 나타난다. 

컨테이너 = 다른 프로그램과 분리된 환경에서 실행!

 

이번에는 컨테이너를 중지시켜 보자.

docker stop web 	# web이라는 이름을 가진 컨테이너를 중지

 

그러면, 당연히 고객은 현재 상태에서는 연결 할 수 없게된다.

한번 확인해보자.

컨테이너를 중지시켰기 때문에 당연한 결과이다.

중지시킨 컨테이너를 삭제시킬 수도 있다.

docker rm web	# web이라는 이름의 컨테이너를 삭제

컨테이너를 지웠다고해서 컨테이너이미지가 지워지는 것은 아니다.

이번에는 컨테이너 이미지를 지워보자.

docekr rm image nginx	# nginx 이미지를 지우기

docekr rmi nginx

 

반응형