기존의 서버 관리
- 도커를 사용하지 않고 웹 서버를 구축하려면 직접 apache, nginx 등을 업로드하여야 함.
- 서버 환경에 맞게 세팅을 해주어야 하고, 만약 서버를 이전한다면 이 과정을 다시 반복하여야 함.
- DevOps의 등장으로 개발 주기가 짧아지며, 이런 문제가 점점 더 심각해지는 상황에 봉착하였다.
도커는 무엇인가?
도커의 등장
- 2013년 3월 산타클라라에서 열린 Pycon Conference에서 dotCloud의 창업자인 Solomon Hykes가 The future of Linux Containers라는 세션을 발표하면서 처음 세상에 알려짐.
그래서 도커가 뭔데?
- 컨테이너 기반의 오픈소스 가상화 플랫폼
- 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공해 프로그램의 배포 및 관리를 단순하게 함.
- 기존의 서버는 이전 시 세팅을 다시 해주어야 했지만, 도커를 사용하면 만들어진 이미지를 다시 불러오기만 하면 되기 때문에 서버 이전이 단순하고 쉬워짐.
도커의 컨테이너
- 격리된 공간에서 프로세스가 동작하는 기술
- CPU의 가상화 기술을 이용
- 하나의 서버에서 여러 개의 컨테이너가 독립적으로 실행되고, 실행 중인 컨테이너에 접속해 여러 명령어를 사용 가능
도커의 이미지
- 컨테이너 실행에 필요한 파일과 설정값 등을 포함
- 같은 이미지로 여러 개의 컨테이너 생성 가능
DockerFile
- 도커의 이미지를 만들기 위해 사용
- 자체 DSL 언어를 이용하여 이미지의 생성 과정을 간단하게 기입할 수 있음.
Docker Hub
- 도커 허브는 컨테이너의 기반이 되는 이미지가 저장 및 공유되는 레포지토리라고 할 수 있다.
- 우리가 자주 쓰는 GitHub의 도커 버전
Docker Compose
- yaml 파일을 사용해서 작성, 여러 개의 컨테이너를 한꺼번에 관리
- 모든 서비스를 각각이 아닌 한꺼번에 정의하고 실행할 수 있게 함
- 이로써 모든 실행 서비스 현황 및 로그 출력을 열람할 수 있음
도커는 왜 쓰는가?
도커를 쓰면 뭐가 좋은데?
- 생성된 이미지 파일을 통해 어느 환경에서든 동일하게 실행 가능
- 서버에 배포할 때도 도커 이미지를 업로드해두고 , 해당 서버에서 도커 이미지를 받아 실행하면 끝
- 서버 자체에 모든 빌드 파일을 올리고 설정해줄 필요 없이 도커 이미지 파일만 사용하면 됨.
- 하나의 물리적 서버의 다수의 컨테이너가 구동이 가능해 하드웨어 자원이 절감
추가적으로 읽어보면 좋은 블로그
참고한 블로그 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
'Computer Science' 카테고리의 다른 글
[Cache] 왜 캐시를 사용하는가 ? (0) | 2021.12.22 |
---|