Section 01. 도커란 무엇인가?
Docker - 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어
container - 하나의 컴퓨터(서버)를 분할한 작은 공간
docker engine - 도커 소프트웨어의 본체, container를 생성, 구동시킬 수 있다
image - container를 만들기 위한 빵틀과 같은 역할
-> docker는 container를 다루는 기능을 제공하는 소프트웨어
docker를 구동하기 위해서는 리눅스 운영체제가 필요
windows, macOS도 docker를 구동하기 위해서는 내부에 리눅스 설치가 필요
데이터⋅프로그램을 독립된 환경에 격리하는 이유
- 다른 프로그램과 특정한 폴더 또는 디렉터리를 공유하거나 같은 경로에 설정 정보를 저장하는 경우, 프로그램 하나를 업데이트하면 다른 프로그램에도 영향을 미치게 된다
- 프로그램 간 데이터 공유를 하는 경우 오류가 많이 발생하게 된다
- 도커를 사용하면 독립적인 환경에서 각각의 프로그램을 안전하게 운용할 수 있음
Section 02. 서버와 도커
서버의 두 가지 의미
server - 어떤 서비스(service)를 제공(serve)하는 것
기능적 의미의 서버
- 웹, 메일, 데이터베이스 등 다양한 기능의 서버가 존재
- 주로 리눅스용 소프트웨어를 사용
- 어딘가에 물리적으로 존재하는 컴퓨터를 의미
- 개인용 컴퓨터는 개인이 사용하지만 서버는 여러 사람이 원격으로 접근해 사용
자유로이 옮길 수 있는 컨테이너
- 컨테이너의 정보를 내보내기한 다음, 다른 도커 엔진에서 복원하면 컨테이너를 하나의 도커 엔진에서 다른 도커 엔진으로 옮기는 것이 가능
- 똑같은 상태로 튜닝한 컨테이너를 팀원 전원에게 배포해 모두 동일한 개발환경 사용 가능
- 물리적 환경의 차이, 서버 구성의 차이를 무시할 수 있음
잘봤습니다.