Docker란 무엇인가

Koo·2023년 7월 16일
1
post-thumbnail

Section 01. 도커란 무엇인가?

Docker - 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어
container - 하나의 컴퓨터(서버)를 분할한 작은 공간
docker engine - 도커 소프트웨어의 본체, container를 생성, 구동시킬 수 있다
image - container를 만들기 위한 빵틀과 같은 역할
-> docker는 container를 다루는 기능을 제공하는 소프트웨어

docker를 구동하기 위해서는 리눅스 운영체제가 필요
windows, macOS도 docker를 구동하기 위해서는 내부에 리눅스 설치가 필요

데이터\cdot프로그램을 독립된 환경에 격리하는 이유

  • 다른 프로그램과 특정한 폴더 또는 디렉터리를 공유하거나 같은 경로에 설정 정보를 저장하는 경우, 프로그램 하나를 업데이트하면 다른 프로그램에도 영향을 미치게 된다
  • 프로그램 간 데이터 공유를 하는 경우 오류가 많이 발생하게 된다
    - 도커를 사용하면 독립적인 환경에서 각각의 프로그램을 안전하게 운용할 수 있음

Section 02. 서버와 도커

서버의 두 가지 의미

server - 어떤 서비스(service)를 제공(serve)하는 것

기능적 의미의 서버

  • 웹, 메일, 데이터베이스 등 다양한 기능의 서버가 존재
  • 주로 리눅스용 소프트웨어를 사용

  • 어딘가에 물리적으로 존재하는 컴퓨터를 의미
  • 개인용 컴퓨터는 개인이 사용하지만 서버는 여러 사람이 원격으로 접근해 사용

자유로이 옮길 수 있는 컨테이너

  • 컨테이너의 정보를 내보내기한 다음, 다른 도커 엔진에서 복원하면 컨테이너를 하나의 도커 엔진에서 다른 도커 엔진으로 옮기는 것이 가능
  • 똑같은 상태로 튜닝한 컨테이너를 팀원 전원에게 배포해 모두 동일한 개발환경 사용 가능
  • 물리적 환경의 차이, 서버 구성의 차이를 무시할 수 있음
profile
스터디를 해보자

4개의 댓글

comment-user-thumbnail
2023년 7월 16일

잘봤습니다.

1개의 답글
comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

1개의 답글