우분투 Docker 살펴보기 - 실습

2024. 2. 3. 14:12웹개발/컨테이너

이번 실습에서 다음 작업을 진행하여 Docker의 기본적인 부분을 이해할 수 있도록 한다.

* Docker Hub에서 컨테이너 이미지를 검색

* 컨테이너 이미지 다운로드 후 image layer 보기

* 컨테이너 실행 후 확인

 

Docker 동작 확인

다음 명령을 호출하여 docker daemon이 실행 중인지 확인한다.

systemctl status docker

 

다음과 같이 docker가 정상 동작하는지 확인할 수 있다.

Docker Hub에서 이미지 검색

다음 명령으로 Docker Hub에서 nginx를 검색한다.

docker search nginx

 

Container Image 다운로드 후 image layer 보기

container image layer가 저장되는 위치는 다음과 같다.

root 계정으로 다음으로 이동한다.

cd /var/lib/docker

디텍토리에 안에 overlay2 디텍토리가 있는데 해당 위치에 docker container image layer가 저장된다.

container image layer가 저장되는 디렉토리

 

좀 전에 검색했던 nginx를 docker hub로 부터 다운받는다.

docker pull nginx:latest

 

/var/lib/docker/overlay2 디렉토리에서 조회를 해보면 다음과 같은 layer 디렉토리가 생긴것을 확인할 수 있다. 

 

컨테이너 실행

layer가 정상적으로 다운로드 되었다면 실행을 한다. 그전에 먼저 image를 조회해본다.

docker image ls

 

이제 다음 명령어로 실행을 한다.

docker run --name web -d -p 80:80 nginx

 

"2847..." 으로 시작하는 컨테이너 id로 컨테이너가 실행된다.

 

Docker 컨테이너의 프로세스를 확인하기 위해 다음 명령을 호출한다.

docker ps

"2847..."로 시작하는 컨테이너 id, "web"이라는 이름으로 프로세스가 실행되는 것을 확인할 수 있다.

 

웹브라우저에서 해당 서버의 ip주소:80으로 접속할 경우 다음과 같이 nginx의 시작 페이지가 실행된다.

web 컨테이너의 실행을 중지하기 위해서 다음 명령을 호출한다.

docker stop web

프로세스 조회시 해당 컨테이너가 없는 것을 확인할 수 있다.

 

컨테이너 자체를 삭제하기 위해서는 다음 명령을 호출한다.

docker rm web

nginx image를 제거하기 위해서는 다음 명령을 호출한다.

docker rmi nginx

다음과 같이 image가 삭제된 것을 확인할 수 있다.

 

/var/lib/docker/overlay2 에서도 이미지 레이어에 대한 데이터가 제거됨을 확인할 수 있다.