정리하면서 배운것 복기 렛츠고!!!!!!
힘내잣
1. Docker를 쓰는 이유
이식성 때문(이사가 쉽다)
→ 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치, 실행할 수 있는 특성
ex)
A 컴에 Mysql 설치 완료
B 컴에 mysql 설치 → 에러남(이유는 os, 버전, 보안프로그램 충돌 등)
✅ 해결방안
⇒ 도커 사용하면 mysql을 어떤 환경에서든 에러없이 설치 가능
✔️ 도커 장점
1. 설치과정 일일이 거치지 않아도 됨
2. 일관되게 프로그램 설치 가능(똑같 버전, 설정)
3. 프로그램이 독립된 환경에서 실행되기 때문에 프로그램간 충돌이 일어나지 않음
2. IP, Port 개념
IP : nw 상에서 특정 컴퓨터를 가리키는 주소
13.250.15.132
ex) naver.com (nslookup → ip 나옴)
ip주소 : 네이버가 운영하고 있는 컴퓨터의 주소
Port : 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소
13.250.15.132**:3000**
13.250.15.132 ← 이 ip에 있는 여러 프로그램 중 3000번 포트에 할당된 프로그램을 가리킨다
한 컴퓨터에는 여러개의 프로그램이 실행되는 중
어떤 프로그램이랑 연결해야할까?
⇒ 특정 서버, 특정 프로그램이랑 통신 시 ip 주소, 포트 번호알아야 통신 가능
⚠️ 브라우저 창에 포트 번호를 입력하지 않는 이유?
도메인 주소가 포트번호 없이 접속 가능한 경우는 기본적으로 브라우저는 80포트로 default로 설정되어 있음
그래서 내가 포트번호를 입력하지 않아도 정상적으로 통신이 가능하다.
80번 으로 연결하기싫다면, 도메인 주소:3000 이렇게 포트를 명시해주면 된다.
✔️ well-known port (잘알려진 포트)란?
포트번호는 0~65535번까지 사용 가능
0~1023번 포트는 주요 통신을 위한 규약에 따라 이미 정해져있음
[default 주요 포트 번호]
22번 : ssh(원격 접속을 위한 포트번호(secure shell protocol))
80: http
443 : https
⇒ 권장 포트 번호이니 바꿔도 ㄱㅊ
3. 도커/컨테이너/이미지
✔️ 도커
컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴
✔️ 컨테이너
한개의 컴퓨터에 여러 사용자가 나눠서 사용 가능하도록 되어있음 ex) 사용자 계정(user1, user2)
하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념 ⇒ 1 컴퓨터에 여러개의 미니 컴퓨터 환경 구성 가능
(컴퓨터 속)미니 컴퓨터 = 컨테이너
컨테이너를 포함하고 있는 컴퓨터 = 호스트 컴퓨터
📍 컨테이너의 특징
독립성을 가짐 = 독립적으로 다른 환경이랑 분리해서 서로 영향을 끼치지 않는 특징을 가짐
- 디스크(저장 공간) 독립적 분리 : 각 컨테이너마다 각자의 저장 공간을 가지고 있음
- a container 에서 b container에 있는 파일에 접근 불가
- 네트워크(ip, port) 독립적 : 각 컨테이너마다 고유의 네트워크를 가짐.
- 컨테이너마다 각자의 ip, port 주소를 가짐
✔️ 이미지
닌텐도 게임칩 = 이미지
- node.js기반 Express.js server pj를 이미지로 생성
- 도커로 이미지를 실행
- express.js 프로젝트가 컨테이너 환경에서 실행됨(설치 과정 필요 없다)
- mysql 서버를 이미지로 생성
- 도커로 이미지 실행
- 컨테이너 환경에서 Mysql 서버가 실행됨(mysql을 일일이 설치 X, mysql db사용 가능)
✅ 이미지 = 프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보등을 포함 = 프로그램 실행에 필요한 모든 것을 포함 함
💬 JSCODE 박재성님 인프런 도커 강의
'є(・Θ・。)э››' 카테고리의 다른 글
Docker - 2 (0) | 2025.04.10 |
---|