✅ Docker
컨테이너
를 사용하여 각각의 프로그램을 분리된 환경
에서 실행 및 관리할 수 있는 툴✅ 컨테이너
하나의 컴퓨터 환경 내에서 독립적인
컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념으로 쉽게 말해서 하나의 컴퓨터 환경에 여러개의 미니컴퓨터 환경을 구성할 수 있는 형태로 이 미니 컴퓨터를 보고 Docker
에서는 컨테이너
라고 부른다
ex) 하나의 컴퓨터에 사용자 A, 사용자 B 계정이 있는데, A에 카카오톡을 설치하면 B에서도 카카오톡을 사용하려면 별도로 설치해야함
여기서
컨테이너
들을 포함하고 있는 컴퓨터를호스트컴퓨터
라고 부른다
✅ 컨테이너
독립성 특징
디스크 (저장공간) : 각 컨테이너마다 서로 각자의 저장 공간을 가지고 있다
ex) A컨테이너 내부에서 B컨테이너 내부에 있는 파일에 접근할 수 없다
네트워크(IP, PORT) : 각 컨테이너는 각각의 IP와, 고유의 네트워크를 가지고 있다
✅ 이미지
닌텐도에서는 하나의 게임기에 여러가지 칩을 꽂아서 다양한 게임을 즐긴다
Docker
에서는 닌텐도 칩과 같은 역할을 하는 것을 이미지
라고 한다
이 이미지는 프로그램을 실행하는데 필요한 설치과정, 설정, 버전 정보 등을 포함한다
ex) 스프링부트 기반의 서버 프로젝트를 이미지로 만들어서 Docker
로 실행시키면
이 서버 프로젝트가 컨테이너
환경에서 실행 -> 복잡한 설치 과정 없이 손쉽게 실행
✅ CMD 창 실습
docker pull ngix
: nginx에 이미지를 다운받는 명령어
docker image ls
: 다운받은 이미지를 확인하는 명령어
docker run --name webserver -d -p 80:80 nginx
인터넷창에 localhost:80 검색 -> 내컴퓨터에 nginx가 설치되고 실행된것을 확인
docker ps
: nginx가 실행되고있는 컨테이너의 목록이 뜨는 명령어
docker stop 컨테이너name
: 실행되고있는 컨테이너 종료
호스트 컴퓨터 안에 Nginx라는 이미지를 끼워서 Nginx를 설치하고 실행해서 이 컨테이너를 구성
즉 Nginx라는 컨테이너를 띄웠기 때문에 로컬호스트에서 80을 들어가면 Nginx가 제공하는
웹페이지가 뜨는것을 확인할 수 있다