#wannabeeeeeee the best DataScientist
Docker 기본 개념 본문
✅ 현업에서 Docker를 많이 쓰는 이유
- 이식성: Docker는 프로그램을 다른 환경으로 쉽게 옮겨 설치하고 실행할 수 있어, 다양한 시스템에서 동일하게 작동하도록 도와줍니다.
✅ Docker의 장점
- 설치 과정을 간소화: 매번 복잡한 설치 과정을 반복하지 않아도 됩니다.
- 일관된 환경 제공: 버전, 환경 설정, 옵션, 운영 체제 등 모든 요소가 일관되게 유지됩니다.
- 독립적인 실행 환경: 각 프로그램이 독립적인 환경에서 실행되어, 서로 간의 충돌을 방지할 수 있습니다.
💡보충 개념
- IP 주소: 네트워크 상에서 특정 컴퓨터를 식별하는 주소입니다.
- Port 번호: 한 컴퓨터 내에서 실행 중인 특정 프로그램을 식별하는 주소입니다. 서버와 통신하려면 IP 주소와 함께 해당 프로그램의 포트 번호도 알아야 합니다.
✔ 브라우저 주소창에 포트 번호를 입력하지 않는 이유
주소창에 도메인 주소만 입력하면, 브라우저(크롬, 익스플로러 등)는 기본적으로 80번 포트를 사용하여 통신을 시도합니다. 그래서 포트 번호를 따로 입력하지 않아도, 자동으로 80번 포트로 연결됩니다.
✔ 잘 알려진 포트(Well-Known Port)란?
- 포트 번호는 0부터 65,535까지 사용할 수 있습니다. 그중 0부터 1023번까지의 포트 번호는 이미 특정 서비스에 할당되어 있습니다. 이를 **잘 알려진 포트(Well-Known Port)**라고 부릅니다.
✔ 자주 사용되는 포트 번호
- 22번 (SSH, Secure Shell Protocol): 원격 접속을 위한 포트 번호입니다. 예를 들어, EC2 인스턴스에 연결할 때 사용됩니다.
- 80번 (HTTP): HTTP 통신을 위해 사용됩니다.
- 443번 (HTTPS): HTTPS 통신을 위해 사용됩니다.
위 포트 번호는 규약에 따라 정해진 것이지만, 꼭 이 번호들을 지킬 필요는 없습니다. 즉, 규약과 다른 포트 번호를 사용해도 됩니다.
✅ Docker란?
Docker는 컨테이너를 사용하여 각 프로그램을 분리된 환경에서 실행하고 관리할 수 있는 도구입니다.
✅ 컨테이너(Container)란?
컨테이너는 하나의 컴퓨터 환경 내에서 독립적인 "미니 컴퓨터" 환경을 구성하여, 각 환경에 프로그램을 별도로 설치하고 실행할 수 있게 만드는 개념입니다.
이를 통해 하나의 컴퓨터에서 여러 개의 독립적인 환경을 만들 수 있습니다. Docker에서는 이러한 독립적인 환경을 **컨테이너(Container)**라고 부릅니다. 컨테이너가 실행되는 컴퓨터는 호스트(Host) 컴퓨터라고 불리며, 이 호스트 컴퓨터는 여러 개의 컨테이너를 포함할 수 있습니다.
✅ 컨테이너(Container)의 독립성
- 디스크(저장 공간): 각 컨테이너는 자체적인 저장 공간을 가집니다. 즉, A 컨테이너는 B 컨테이너의 파일에 접근할 수 없으며, 서로 독립적인 환경을 유지합니다.
- 네트워크(IP, Port): 각 컨테이너는 고유한 네트워크 설정을 가집니다. 즉, 각 컨테이너는 독립적인 IP 주소를 가지며, 서로 다른 네트워크 환경에서 실행됩니다.
✅ 이미지(Image)란?
이미지는 마치 닌텐도의 게임 칩처럼, 다양한 프로그램을 실행할 수 있도록 필요한 설치 과정, 설정, 버전 정보 등을 포함하는 "템플릿"입니다. 즉, Docker에서의 이미지는 프로그램 실행에 필요한 모든 요소를 포함하고 있으며, 이를 바탕으로 컨테이너를 실행할 수 있습니다.
✅ Docker를 어떻게 조작할까?
Docker는 주로 터미널에서 명령어(CLI: Command Line Interface)를 통해 조작합니다.
이미지 다운로드, 컨테이너 실행, 상태 확인 등 대부분의 작업을 CLI로 수행하게 됩니다.
✅ Nginx란?
Nginx(엔진엑스)는 다양한 기능을 제공하는 서버 소프트웨어입니다.
그중 가장 널리 알려진 기능은 웹 서버로서의 역할입니다.
- 웹 서버란?
HTML과 같은 정적인 웹 페이지를 브라우저에 전달하고, 화면에 랜더링되도록 도와주는 역할을 합니다.
Nginx는 이 외에도 로드 밸런서, 리버스 프록시, 캐시 서버 등 다양한 용도로 활용됩니다.
✅ Docker로 직접 사용해보기
1. Nginx 이미지 다운로드
2. 다운로드 된 이미지 확인
3. 이미지를 컨테이너에 올려 Nginx 서버 실행시키기
4. Nginx 서버가 잘 실행되는 지 확인하기
5. 실행되고 있는 모든 컨테이너 상태 확인하기
6. 특정 컨테이너 정지
'Data scientist > Docker' 카테고리의 다른 글
Docker Compose (0) | 2025.05.11 |
---|---|
Docker File (0) | 2025.05.07 |
Docker 실습(2) (1) | 2025.05.06 |
Docker 실습(1) (0) | 2025.05.04 |