# Why?
도커를 사용해야할 일이 생겼다 ..
서버가 없는 상태에서 개발할때, 도커를 알고 있어야 백엔드의 개발환경을 받고 API요청이 잘 처리되는지 확인할 수 있기 때문이다.
그동안 배포된 상태에서 개발한 경험만 있었는데, 아닌 상태에서 개발을 진행해보고 나서야 얼마나 편한 상황이었는지 깨달았다.
도커를 사용하는 이유는 이식성 때문이다. 백엔드의 개발환경을 받아서 API요청이 제대로 가고있는지 확인하려고 한다.
이식성 : 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특징
# IP와 Port 의 개념
## IP는 네트워크상에서 특정 컴퓨터의 주소를 가리킨다. 각 서비스는 IP를 갖고있음.
ex) 13.250.15.132
## Port
한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소이다.
ex) 13.250.15.132:3000 <- :3000 부분이 포트번호를 의미한다.
## 브라우저 창에 포트번호를 입력하지 않는이유?
특정 서버와 통신하기 위해서는 IP주소와 포트번호를 둘 다 알아야한다. 브라우저는 기본적으로 80번 포트로 통신을 보내게 설정되어있어서, 포트번호를 따로 입력하지 않아도 통신이 잘 되고 있는 상태이다.
## 잘 알려진 포트(well-known-port)
포트번호는 0~65,535번까지 사용할 수 있다.
0~1023까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다. 이렇게 규약을 통해 역할이 정해져 있는 포트 번호를 보고 잘 알려진 포트라고 한다.
### 자주 사용되는 포트번호
1. 22번 (SSH, Secure Shell Protocol) : 원격 접속을 위한 포트 번호
ex) EC2 인스턴스에 연결할 때 22번 포트를 사용한다.
2. 80번 (HTTP) : HTTP로 통신을 할 때 사용
3. 443번 (HTTPS) : HTTPS로 통신을 할 때 사용
위에서 정해놓은 규약은 꼭 지키지 않아도 된다. 즉 규약으로 정해져 있는 포트번호와 다르게 사용해도 된다.
ex) HTTP통신을 할때 80대신 3000번 or 8081번 포트 이용
# Docker란?
컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴
# Container란?
하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념이다.
하나의 컴퓨터 환경 내에서 여러개의 미니 컴퓨터 환경을 구성할 수 있는 형태로, 이 미니컴퓨터를 Docker에서는 컨테이너(Container)라고 한다. 이런 컨테이너를 포함하고 있는 부모 컴퓨터를 host 컴퓨터라고 부른다.
## Container의 독립성
1. 디스크 (저장공간) : 각 컨테이너마다 각자의 저장 공간을 가지고 있다. 일반적으로 A컨테이너 내부에서 B 컨테이너 내부에 있는 파일에 접근할 수 없다.
2. 네트워크 : 각 컨테이너마다 고유의 네트워크를 가지고 있다. 컨테이너는 각자의 IP주소를 가지고있다.
# Image란?
프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보등을 포함하고 있다.
즉, 프로그램을 실행하는데 필요한 모든 것을 포함하고 있다.
# 도커 설치
윈도우에 도커 데스크탑 설치
Install Docker Desktop on Windows Docker Desktop은 컨테이너화된 애플리케이션 및 마이크로서비스를 구축하고 공유할 수 있는 Mac, Linux, Windows 환경용 원클릭 설치 애플리케이션으로, 설치된 머신에서 컨테
myanjini.tistory.com
'개발 > Docker' 카테고리의 다른 글
| #5 Docker 환경에서 Spring Boot 백엔드 실행 (2) | 2025.05.05 |
|---|---|
| #4 Docker Compose (0) | 2025.05.04 |
| #3 Dockerfile (1) | 2025.05.04 |
| #2 Docker Volume (0) | 2025.05.03 |
| #1 Docker CLI (5) | 2025.05.02 |