SW
도커(Docker) 본문
1. 도커(Docker)
- Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
- Docker는 environment disparity 문제를 해결해준다.
- environment disparity가 무엇이냐? 예를 들어, 어제 저녁에 개발을 하고 있었고 서버에 올리기만 하면 되는 일이었다. 근데 올린게 작동을 잘 안했다. 그 이유는 내 컴퓨터는 윈도우고 서버는 리눅스 였기 때문이다. 이러한 것이 environment disparity이다.
- Docker가 그것을 해결해준다.
- 위 문제를 해결하기 위해 윈도우와 서버에 docker를 둘다 설치한다. 거기에 내가 설치하고 싶은 우분투, 파이썬, 깃 등등을 설치한다. 이 파일을 서버와 윈도우 둘에게 주고 Docker는 해당 설정 환경과 같은 버츄얼 컨테이너를 컴퓨터에 만들 것이다.
- 그래서 서버로 코드를 업로드 할 때 잘 작동할 것이다.
- Docker 컨테이너들은 독립적이다. 이 특징 덕분에 한개의 서버에 여러개의 컨테이너를 가질 수 있다.
- 한개는 파이썬장고 컨테이너 하나는 nodejs컨테이너 등 여러개를 가질 수 있다.
- 도커덕분에 매번 새로운 서비스를 만들때마다 새로운 서버를 사고, 설정할 필요가 없는 것이다.(ec2 하나 사서 이것저것 가능)
- 원할 때마다 docker를 통해 새로운 환경을 생성할 수 있다.
- 그냥 컨테이너를 생성하고 복제하면 된다.
- 정리해보면 다음과 같다.
- 원하는 개발 환경을 파일에 저장하면, docker는 이를 내가 원하는 어떤 머신에든 해당 환경을 시뮬레이션 해준다.
- 이러한 환경들은 각기 독립적으로 존재하기 때문에, 원하는 모든 환경이든 모듈식으로 관리가 가능하다. 그래서 파이썬 서버, 자바 서버, 데이터베이스 서버 이렇게 막 추가해서 살 필요 없이 모든 독립적 운용이 가능하다.
'대학교 > etc' 카테고리의 다른 글
쿠버네티스 (Kubernetes) (0) | 2020.07.30 |
---|---|
MSA (Micro Service Architecture) (0) | 2020.07.30 |
[GraphQL] Error: Cannot use GraphQLSchema "[object GraphQLSchema]" from another module or realm. (0) | 2020.07.22 |
[React Native] npm ERR! A complete log of this run can be found in: (0) | 2020.07.22 |
[JS] spread operator(...) : Unexpected token (0) | 2020.07.20 |
Comments