관리 메뉴

SW

도커(Docker) 본문

대학교/etc

도커(Docker)

SWKo 2020. 7. 30. 00:49

1. 도커(Docker)

  • Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
  • Docker는 environment disparity 문제를 해결해준다.
  • environment disparity가 무엇이냐? 예를 들어, 어제 저녁에 개발을 하고 있었고 서버에 올리기만 하면 되는 일이었다. 근데 올린게 작동을 잘 안했다. 그 이유는 내 컴퓨터는 윈도우고 서버는 리눅스 였기 때문이다. 이러한 것이 environment disparity이다.
  • Docker가 그것을 해결해준다.
  • 위 문제를 해결하기 위해 윈도우와 서버에 docker를 둘다 설치한다. 거기에 내가 설치하고 싶은 우분투, 파이썬, 깃 등등을 설치한다. 이 파일을 서버와 윈도우 둘에게 주고 Docker는 해당 설정 환경과 같은 버츄얼 컨테이너를 컴퓨터에 만들 것이다.
  • 그래서 서버로 코드를 업로드 할 때 잘 작동할 것이다.
  • Docker 컨테이너들은 독립적이다. 이 특징 덕분에 한개의 서버에 여러개의 컨테이너를 가질 수 있다.
  • 한개는 파이썬장고 컨테이너 하나는 nodejs컨테이너 등 여러개를 가질 수 있다.
  • 도커덕분에 매번 새로운 서비스를 만들때마다 새로운 서버를 사고, 설정할 필요가 없는 것이다.(ec2 하나 사서 이것저것 가능)
  • 원할 때마다 docker를 통해 새로운 환경을 생성할 수 있다.
  • 그냥 컨테이너를 생성하고 복제하면 된다.
  • 정리해보면 다음과 같다.
    • 원하는 개발 환경을 파일에 저장하면, docker는 이를 내가 원하는 어떤 머신에든 해당 환경을 시뮬레이션 해준다.
    •  이러한 환경들은 각기 독립적으로 존재하기 때문에, 원하는 모든 환경이든 모듈식으로 관리가 가능하다. 그래서 파이썬 서버, 자바 서버, 데이터베이스 서버 이렇게 막 추가해서 살 필요 없이 모든 독립적 운용이 가능하다.

     

Comments