성장일기

내가 보려고 정리하는 공부기록

인프라/도커

[Docker] 도커란 무엇일까?

와나나나 2025. 9. 18. 18:16
728x90

프로젝트를 하면서 처음으로 도커를 사용해봤는데, 잘 모르는 상태로 사용하다보니 어려움을 겪었다. 그래서 이 기회에 도커를 정리해보려고 한다!

 

해당 게시글은 인프런 비전공자도 이해할 수 있는 Docker 입문/실전 강의를 듣고 정리했습니다.

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-docker-%EC%9E%85%EB%AC%B8-%EC%8B%A4%EC%A0%84

 

비전공자도 이해할 수 있는 Docker 입문/실전| JSCODE 박재성 - 인프런 강의

현재 평점 4.9점 수강생 13,875명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 Docker 입문/실전 강의를 만들어봤습니다! Docker 기본 개념, Spring Boot를

www.inflearn.com

 

 

목차는 다음과 같습니다.

  • 도커란 무엇일까
    • 도커 컨테이너
    • 도커 이미지
    • 도커를 배우는 이유

 


1. 도커란 무엇일까

도커란, 

컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 관리할 수 있는 도구이다.

지금은 프로젝트에서 사용해보고 다시 공부하는 것이라 이해가 되었지만, 처음 도커 개념을 봤을 때에는 전혀 와닿지 않았다. 

 

도커를 이해하려면 컨테이너에 대한 이해가 필요하다.

 


📌 컨테이너

컨테이너란, 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성할 수 있게 해주는 개념이다. 쉽게 말하면 컴퓨터 속에 여러 대의 미니 컴퓨터를 만드는 셈이다. 이 미니 컴퓨터를 컨테이너라고 부른다.

 

이 개념을 배우면서 가상머신(VM)과 비슷하다고 느꼈다. 둘 다 별도의 공간을 만드는 개념이지만, 다음과 같은 차이가 있다.

 

🤖 가상머신 (VMWare, Virtual Machine) : 기존 PC와 완전히 별도의 OS를 실행하기 때문에 무거움, 대신 완전히 독립적

🐋 도커 컨테이너 : OS커널은 공유하고 필요한 것들만 독립적으로 사용하기 때문에 가볍고 빠름

 

 

 

컨테이너는 다음과 같은 것들을 독립적으로 관리할 수 있다.

  • 디스크 (저장공간) 
    • 각 컨테이너마다 별도의 저장공간을 갖고있다
    • 일반적으로 A컨테이너 내부에서 B컨테이너 내부에 있는 파일에 접근할 수 없다
  • 네트워크 (IP, PORT) 
    • 각 컨테이너마다 고유의 네트워크를 갖고있다

 

 

 

이렇게 컨테이너를 띄우기 위해서는 이미지가 필요하다.

 


📌 도커 이미지

도커에서 프로그램을 실행하려면 이를 위한 설정, 버전 정보 등이 필요할 것이다. 이렇게 프로그램을 실행하는 데 필요한 모든 것이 도커 이미지에 포함되어있다!

 

도커 이미지를 만들어서 컨테이너에 올릴 수도 있지만, mysql, nginx 등 사람들이 많이 사용하는 서비스의 이미지는 도커허브에 저장되어있어 끌어와 사용하면 된다! 자세한 내용은 다음 게시글에서 다루어 볼 예정이다.

 

도커허브는 아래 링크에 들어가서 볼 수 있다

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Software supply chain Secure Your Supply Chain with Docker Hardened Images Use Docker’s enterprise-grade base images: secure, stable, and backed by SLAs for Ubuntu, Debian, Java, and more. Regularly scanned and maintained with CVE remediation and long-te

hub.docker.com

 

 


📌 도커를 사용하는 이유

도커와 비슷한 기술은 생각보다 많이 있지만, 개발자들은 주로 도커를 많이 사용한다. 가장 큰 이유는 이식성 때문이다.

 

이식성

이식성은 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성을 의미한다.

예를 들어 내 PC에서는 잘 돌아가지만, 다른 사람의 PC에서는 에러가 발생하는 경우가 있다. 이 경우는 대개 버전이 다르거나 OS가 다르거나 혹은 다른 프로그램과의 충돌때문이다.

 

이런 문제를 Docker가 해결해주었다. 어떤 운영체제, 버전을 사용하던 동일한 환경을 제공해준다!

 

 


 

간단하게 도커에 대해 알아보았다. 이후 게시글에서는 도커의 컨테이너, 이미지를 좀 더 자세히 다뤄볼 예정이다!

'인프라 > 도커' 카테고리의 다른 글

[Docker] 도커 이미지로 컨테이너 올리기  (1) 2025.09.25