[TIL] Day64- Docker

공부중인 개발자·2021년 7월 9일
0

TIL

목록 보기
64/64
post-thumbnail

Docker

도커는 리눅스 컨테이너 기술을 기반으로 하는 오픈소스 서비스

토커를 통해 애필리케이션 실행 환경을 코드로 작성할 수 있으며, OS를 격리화하여 관리

  • 리눅스 컨테이너

Linux Container는 Linux 기반의 기술 중 하나로, 필요한 라이브러리와 애플리케이션을 모아서 마치 별도의 서버처럼 구성한 것
컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유

  1. 프로세스 구획화

    • 특정 컨테이너에서 작동하는 프로세스는 기본적으로 그 컨테이너 안에서만 액세스 할 수 있음
    • 컨테이너 안에서 실행되는 프로세스는 다른 컨테이너의 프로세스에게 영향을 줄 수 없음
  2. 네트워크 구획화

    • 기본으로 컨테이너 하나에 IP 주소가 할당
  3. 파일 시스템의 구획화

    • 컨테이너 안에서 사용되는 파일 시스템은 구획화 -> 해당 컨테이너에서의 명령이나 파일 등의 액세스를 제한할 수 있음

Docker가 해결할 수 있는 문제

  1. 환경 표준화

대표적인 운영채제는 Linux, Windows, MacOS로 구분 할 수 있음
앤지니어는 자신이 개발하는 애플리케이션이 어떠한 환경에서 구동될지 생각하고 개발해야함
이러한 호스트 운영 체제의 영향을 받지 않는 실행 환경을 만들 수 있음

  1. 환경 구성

환경 변수와 같이 같은 OS를 사용하더라도 사용자에 따라 달라지는 구성이 존재
컴퓨터의 환경에 맞게 변경해야 하는 부분, 방화벽 설정, 사용자 권한 설정, Port 설정 등이 이런 부분에 해당
도커를 통해 여러 환경에 동일한 서버를 배포할 수 있고, 개발 환경도 어디서나 동일하게 구성할 수 있음

  1. 리소스 격리성

하나의 컴퓨터를 이용하지만 여러 대의 컴퓨터를 이용하는 것처럼 할 수 있는 방법
-> 리소스 격리성
가상머신이나 도커등이 있음


도커 실습을 통해 도커가 어떻게 사용되는지는 배웠으나 아직 완벽하게 할 수 있다고는 못하겠음 또한 아직 도커를 사용하는 이점에 대해서 정확하게 알지 못하겠음 당장 느끼는 바는 약간 렌탈의 기분을 받았음 원래 mysql을 작동하기 위해선 mysql을 설치해야하는데 이것이 구매라고 생각을 하면 도커를 이용해 mysql을 설치하지 않고 작동 시킬 수 있고 이것이 도커라는 회사에서 주는 렌탈이라는 생각이 들었음.

profile
열심히 공부하자

0개의 댓글