반응형
❓ Docker란?
- Go언어로 작성된 리눅스 컨테이너 기반의 가상화 시스템
- 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴

🧐 Docker를 쓰는 이유
- 이식성 - 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성
- 쉽게 말해 저 컴퓨터에서는 되고, 내 컴퓨터에서는 안되는 상황을 해결해준다.
- 매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.
- 항상 일관되게 프로그램을 설치할 수 있다. (버전, 환경 설정, 옵션, 운영 체제 등)
- 각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 충돌이 발생하지 않는다.
💡 컨테이너(Container)란?
하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념
- 윈도우 환경에서 하나의 컴퓨터로 여러 사용자를 설정하여 사용할 수 있는 것과 비슷한 개념이다. 윈도우에서 각 사용자의 환경은 독립적으로 구성되어 있어서, 사용자마다 필요한 프로그램을 별도로 설치해주어야 한다.
✅ 컨테이너의 독립성
- 디스크 (저장 공간) : 각 컨테이너마다 각자의 저장 공간을 가지고 있다. 일반적으로 A 컨테이너 내부에서 B 컨테이너 내부에 있는 파일에 접근할 수 없다.
- 네트워크 (IP, Port) : 각 컨테이너마다 고유의 네트워크를 가지고 있다. 컨테이너는 각자의 IP 주소를 가지고 있다.
💡 이미지(Image)란?
프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보 등을 포함하고 있는 것
즉, 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.
- 닌텐도 게임기에는 다양한 칩을 꽂아서 여러 게임을 즐길 수 있다.
Docker에서 닌텐도의 칩과 같은 역할을 하는 개념이 이미지(Image)이다.
- 예를 들어, MySQL 서버를
이미지
로 만들면 이 이미지를 Docker로 실행시키는 순간 MySQL 서버가컨테이너
환경에서 실행된다.
MySQL을 설치하지 않고도 MySQL 데이터베이스를 사용할 수 있게 된다.
References
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Docker-Docker란-도커를-쓰는-이유
'DevOps > Docker' 카테고리의 다른 글
[Docker] Docker 이미지(Image) 관련 명령어 (0) | 2025.01.25 |
---|---|
[Docker] 도커로 2개의 DB를 동시에 실행하는 방법 (Feat. 인증서버, 자원서버 DB 분리) (0) | 2025.01.25 |
[Docker] 로컬에 DB 설치하지 않고 Docker로 데이터베이스 사용하기 (0) | 2025.01.25 |
[Docker] Windows11 Docker Desktop 설치하는 방법 (0) | 2025.01.25 |