Ssul's Blog

도커(Docker)에서 쿠버네티스(k8s)까지: #1. Docker이해하기 본문

dev/까먹지마

도커(Docker)에서 쿠버네티스(k8s)까지: #1. Docker이해하기

Ssul 2024. 5. 23. 20:05

1. Docker Image

- 벽돌을 찍어내는 거푸집

- 예: redis/python을 설치 한 우분투(운영체제) 거푸집, httpd거푸집 등

 

2. Docker Container

- 이미지(거푸집)으로 찍어낸, 실제 인스턴스

- 예: redis/python을 설치 한 우분투(운영체제), httpd서버

 

(참고) 간단 사용예시

도커를 설치 후 아래 명령어를 입력하면,

docker run httpd

①나의 local 컴퓨터에서 httpd이미지를 찾는다. 없으면

②퍼블릭 도커허브에서 해당이미지(latest)를 가져온다

③가져온 이미지로 컨테이너를 제작한다

④제작된 컨테이너를 실행한다

 

도커데몬이 이미지를 확보(로컬/허브)해서, 컨테이너를 찍어내는 것(출처: 2023 Packt Publishing)

 

3. Container로 서비스 실행

docker run httpd

를 실행하면, 내 local에서 image찾고, 없으면 public허브에서 찾아서 이미지를 가져오고,

그 이미지로 컨테이너를 만들고, 서비스 실행하는 형태

 

그러면

docker run -p 30000:80 httpd

이것을 하면,

①나의 local 컴퓨터에서 httpd이미지를 찾는다. 없으면

②퍼블릭 도커허브에서 해당이미지(latest)를 가져온다

③가져온 이미지로 컨테이너를 제작한다

④제작된 컨테이너를 실행하는데.... 30000포트로 접속하면, 컨테이너의 80포트로 연결해준다

 

그리고, -d를 붙이면 백그라운드에서 컨테이너 서비스 실행

docker run -p 30000:80 httpd

 

-it붙이면, 컨테이너 안에 들어가서 시스템 내에서 수정 등 가능

docker run -it httpd /bin/bash

 


(참고2) 알아두세요.

# 현재 운영체제가 가지고 있는 docker 이미지 출력
> docker images

# 현재 실행중인 컨테이너
> docker ps

# 중단된 컨테이너 포함
> docker ps -a
(여기에서 사용중이면, 이미지 삭제가 안된다)

# 컨테이너 중단하기
> docker stop <컨테이너 id>

# 컨테이너 삭제
> docker rm <컨테이너 id>

# 로컬에 저장된 이미지 삭제
> docker rmi <이미지id>

 

 

그럼 이제 기본기를 익혔으니,

다음 글에서 dockerfile과 dockerhub,

그리고 실제 서버에서 실행하는 방법까지 알아보자~!