해당 글은 그림과 실습으로 쉽게 배우는 도커&쿠버네티스 책을 요약 정리한 글입니다.
도커는 데이터 혹은 프로그램을 격리시키는 기능을 제공한다.
서버에 여러 가지 프로그램이 함께 동작할 때, 다양한 프로그램과 데이터를 운영체제 통째로 격리시킨다.
작게 작은 창고가 컨테이너고, 이 컨테이너를 다루는 소프트웨어가 도커이다.
컨테이너를 만들려면 도커 엔진과 이미지가 필요하다.
이미지는 컨테이너의 빵틀과도 같은 역할을 수행한다.
윈도우, macOS에서도 도커를 구동할 수 있지만, 내부적으로 리눅스가 사용된다.
대부분의 프로그램은 실행 환경이나 라이브러리, 다른 프로그램을 이용해 동작한다.
다른 프로그램과 특정한 폴더 및 디렉터리를 공유하거나 같은 경로에 설정 정보를 저장하는 경우도 있다.
각자 따로 실행하면 동작하는 프로그램들이 같이 실행하면 오류가 나는 경우가 있다.
이는 대부분 프로그램 간 공유에 문제가 있다.
일반적으로 한 대의 서버 컴퓨터에서는 웹 서버를 한 벌 밖에 실행하지 못한다.
하지만, 컨테이너 기술을 사용하면 여러 개의 웹 서버를 올릴 수 있다.
또한, 컨테이너는 쉽게 옮길 수 있다.
물리적 환경 차이, 서버 구성의 차이를 무시하고 운영 서버와 개발 서버의 환경 차이로 인한 문제를 원천적으로 방지할 수 있다.